Hier sind zwei Beispiele, wie man dem Kontextmenü des Systems Einträge hinzufügen und auch wieder löschen kann. Dabei handelt es sich einmal um Einträge für den Ordnerkontext und für den Dateikontext.
Die Einträge werden in der Registry vorgenommen.
uses Controls, SysUtils
procedure TForm1.SetCreateKey(SelectRootKey: HKEY;
SelectKey: string; NewKey: string);
begin
with TRegistry.Create do
begin
try
RootKey := SelectRootKey;
OpenKey(SelectKey, True);
if not KeyExists(NewKey) then
CreateKey(NewKey);
finally
Free;
end;
end;
end;
procedure TForm1.SetWriteString(SelectRootKey: HKEY;
SelectKey: string; NewValueName: string; Value: string);
begin
with TRegistry.Create do
begin
try
RootKey := SelectRootKey;
OpenKey(SelectKey, True);
WriteString(NewValueName, Value);
finally
Free;
end;
end;
end;
function TForm1.GetDeleteKey(SelectRootKey: HKEY;
SelectKey: string; Key: string): Boolean;
begin
with TRegistry.Create do
begin
try
RootKey := SelectRootKey;
OpenKey(SelectKey, True);
Result := DeleteKey(Key);
finally
Free;
end;
end;
end;
Beispiele für den Ordner Eintrag und löschen :
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
SetCreateKey(HKEY_CLASSES_ROOT,'Directory\shell', 'FolderContex');
SetCreateKey(HKEY_CLASSES_ROOT,'Directory\shell\MonApplication', 'Command');
SetWriteString(HKEY_CLASSES_ROOT,'Directory\shell\MonApplication\Command', '', 'calc %1');
MessageDlg('Ihre Konfiguration wurde erfolgreich geändert!', mtinformation, [mbOk], 0);
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
GetDeleteKey(HKEY_CLASSES_ROOT, 'Directory\shell\FolderContex', 'Command');
GetDeleteKey(HKEY_CLASSES_ROOT, 'Directory\shell', 'FolderContex');
MessageDlg('Ihre ursprüngliche Konfiguration wurde erfolgreich wiederhergestellt !', mtinformation, [mbOk], 0)
end;
Beispiele für die Dateien Eintrag und löschen :
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
SetCreateKey(HKEY_CLASSES_ROOT,'exefile\shell', 'FileExe');
SetCreateKey(HKEY_CLASSES_ROOT,'exefile\shell\FileExe', 'Command');
SetWriteString(HKEY_CLASSES_ROOT,'exefile\shell\FileExe\Command', '', 'calc %1');
MessageDlg('Ihre Konfiguration wurde erfolgreich geändert !', mtinformation, [mbOk], 0);
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
GetDeleteKey(HKEY_CLASSES_ROOT, 'exefile\shell\FileExe', 'Command');
GetDeleteKey(HKEY_CLASSES_ROOT, 'exefile\shell', 'FileExe');
MessageDlg('Ihre ursprüngliche Konfiguration wurde erfolgreich wiederhergestellt !', mtinformation, [mbOk], 0)
end;
Keine Kommentare:
Kommentar veröffentlichen