I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Kom til at tænke på at det måske er farligt at åbne doc-filerne ukritisk. Der er jo noget kaldet VBA og det hænder jo at halvdårlige (teenage) programmører kopierer en script-virus på nettet, retter den til og kalder den for deres egen.
Åben / Gem dialogboksen kan slåes fra, med et lille flueben. Jeg fandt så et program der kunne se ændringer i registreringsdatabasen, og fandt ud af hvad der blev ændret. Så gemmer jeg den originale værdi, og ændre den, og når jeg lukker programmet, så lægger jeg den originale værdi derned igen .... Og det virker :-)
Koden ser således ud:
procedure TForm1.RemoveOpenSaveDialog ; var Registry: TRegistry; EditFlag, BufferSize, BytesWritten : Integer ; begin Registry := TRegistry.Create(KEY_READ); try Registry.Access := KEY_ALL_ACCESS ; Registry.RootKey := HKEY_LOCAL_MACHINE; // False because we do not want to create it if it doesn't exist // Slå Open/ Save dialogen fra i word CheckBox1.Checked := Registry.OpenKey('SOFTWARE\Classes\Word.Document.8\', False); Registry.ReadBinaryData('EditFlags', OriginalWordEditFlagValue, BufferSize); EditFlag := 65536 ; BufferSize := 4 ; Registry.WriteBinaryData('EditFlags', EditFlag, BufferSize ); Registry.CloseKey ; // Slå Open/ Save dialogen fra i Excel Registry.Access := KEY_ALL_ACCESS ; Registry.RootKey := HKEY_LOCAL_MACHINE; CheckBox2.Checked := Registry.OpenKey('SOFTWARE\Classes\Excel.Sheet.8\', False); Registry.ReadBinaryData('EditFlags', OriginalExcelEditFlagValue, BufferSize); EditFlag := 65536 ; BufferSize := 4 ; Registry.WriteBinaryData('EditFlags', EditFlag, BufferSize ); Registry.CloseKey ; finally Registry.Free; end; end;
procedure TForm1.RestoreOpenSaveDialog ; var Registry: TRegistry; EditFlag, BufferSize, BytesWritten : Integer ; begin Registry := TRegistry.Create(KEY_READ); try Registry.Access := KEY_ALL_ACCESS ; Registry.RootKey := HKEY_LOCAL_MACHINE; // False because we do not want to create it if it doesn't exist Registry.OpenKey('SOFTWARE\Classes\Word.Document.8\', False); BufferSize := 4 ; Registry.WriteBinaryData('EditFlags', OriginalWordEditFlagValue, BufferSize ); Registry.CloseKey ; Registry.OpenKey('SOFTWARE\Classes\Excel.Sheet.8\', False); Registry.WriteBinaryData('EditFlags', OriginalExcelEditFlagValue, BufferSize ); Registry.CloseKey ; finally Registry.Free; end; end;
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.