![]() |
Zitat:
|
Zitat:
Das wirds wohl sein. Ich sollte nicht mehr mit der Sonnenbrille am PC sitzen. :cool: Grüsse, Daniel :hi: |
Habe es jetzt mal so gemacht:
Delphi-Quellcode:
Funktioniert aber immer noch nicht^^!
program Reg;
uses Forms, Registry {$R *.res}; procedure FormCreate(Sender: TObject); var reg:Tregistry; begin Reg := TRegistry.Create; Reg.OpenKey ('Software\Microsoft\Internet Explorer\', FALSE); try Reg.DeleteKey('TypedURLs') finally Reg.CloseKey; end; Reg.Free; end; begin Application.Initialize; Application.Run; end. |
Au weia. Ich habe eigentlich gemeint, dass du auf alle Formulare und unnötige Units verzichten sollst. Das heißt logischerweise: keine Forms-Unit. Und damit gibt es dann auch kein
Delphi-Quellcode:
Und dann scheinst du nicht zu lesen, was dir andere sagen. Du hast Christians Code unvollständig übernommen, denn zum einen fehlt der Haupt-try-finally-Block, und zum anderen ist "OpenKey" eine Funktion, deren Bool-Rückgabewert zur Prüfung (konnte der Schlüssel geöffnet werden oder nicht?) genutzt werden kann.
Application.Initialize;
Application.Run; Du solltest die Prozedur "FormCreate" aus deinem Programm nehmen und den Registry-Code stattdessen gleich und richtig zwischen
Delphi-Quellcode:
schreiben. Dann sollte es auch funktionieren.
begin
end. Übrigens: wenn du den Schlüssel "TypedURLs" löschen willst, dann brauchst du nicht vorher "Software\Microsoft\Internet Explorer" öffnen. Einfach
Delphi-Quellcode:
tut´s IMHO auch.
Reg.DeleteKey('Software\Microsoft\Internet Explorer\TypedURLs');
|
So jetzt funktioniert alles. Hier der richtige Code in der .dpr
Delphi-Quellcode:
Leider ist die Exe-Datei 373 KB groß, weil "Forms" und "Dialogs" geladen werden, um "ShowMessage" anzuzeigen. Und ohne "Forms" und "Dialogs" ist die Datei nur 117 KB groß? Wie kann ich auf "Forms" und "Dialogs" verzichten und gleichzeitig eine Message erhalten??
program VerlaufLeeren;
uses Registry, Forms, Dialogs {$R *.res}; var R:Tregistry; begin R:=TRegistry.Create; R.DeleteKey('Software\Microsoft\Internet Explorer\TypedURLs'); R.Free; ShowMessage('Verlauf erfolgreich geleert!'); end. |
Dann nimm:
Delphi-Quellcode:
Eventuell wäre eine Meldung, wenn es nicht geklappt hat auch ganz witzig.
Messagebox(0, 'Verlauf erfolgreich geleert.' 'Verlauf lleren', MB_ICONINFORMATION);
|
Thx @Luckie
So siehts dann als Entfassung aus (endlich :!: ): (alles in der .dpr)
Delphi-Quellcode:
Und die Datei ist jetzt nur 114 KB groß. Mit UPX gepackt nur 52 KB^^.
program VerlaufLeeren;
uses Registry, Windows {$R *.res}; var R:Tregistry; begin R:=TRegistry.Create; R.DeleteKey('Software\Microsoft\Internet Explorer\TypedURLs'); R.Free; MessageBox(0, 'Verlauf erfolgreich geleert.','Verlauf leeren', MB_ICONINFORMATION); end. |
Zitat:
Delphi-Quellcode:
program Project1;
uses Registry, Windows; var R:Tregistry; begin R:=TRegistry.Create; try R.RootKey:=HKEY_CURRENT_USER; if R.DeleteKey('Software\Microsoft\Internet Explorer\TypedURLs') then MessageBox(0, 'Verlauf erfolgreich geleert.','Verlauf leeren', MB_ICONINFORMATION) else MessageBox(0, 'Verlauf konnte nicht geleert werden.','Verlauf leeren', MB_ICONSTOP); finally R.Free; end; end. |
Zitat:
Zitat:
|
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz