![]() |
Autostart-Registry Eintrag löschen??
Hallo,
ich will in mein Programm die Möglichkeit mit einbinden, ob es beim Start von Windows automatisch gestartet werden soll oder nicht. Hierzu schreibe ich den entsprechenden Schlüssel in entweder HKEY_CURRENT_USER oder HKEY_LOCAL_MACHINE /Software/Microsoft/.../Run.. soweit sogut.. Mein Problem ist nicht das reinschreiben sondern das löschen. Kann es sein, dass mir dazu irgendwelche Rechte fehlen?? Die Funktion liefert mir immer den Wert FALSE, also löschen nicht möglich.. Weis jemand wie ich das hinbekomme?? Irgendwie muss das doch möglich sein, "normale" Programme dürfen das doch auch :?: MfG & besten dank |
Re: Autostart-Registry Eintrag löschen??
Vielleicht wäre es noch sinnvoll den Code deines Löschvorgangs hier zu posten...
|
Re: Autostart-Registry Eintrag löschen??
hmm.. ok.. da könnte was dran sein...
Delphi-Quellcode:
so sollte es eigentlich gehn.. denk ich.. reg:= TRegistry.Create; try reg.RootKey:= HKEY_CURRENT_USER; if reg.OpenKey('software\Microsoft\Windows\Currentversion\Run',True) then begin if reg.DeleteKey('software\Microsoft\Windows\Currentversion\Run\GIS')= False then begin ShowMessage('Key konnte nicht gelöscht werden'); end; reg.CloseKey; end else ShowMessage('Key konnte nicht geöffnet werden') finally reg.Free; end an dem "reg.OpenKey" liegt es denk ich nicht, weil wenn ich diese Zeile rausnehm passiert immernoch das selbe... danke schonmal |
Re: Autostart-Registry Eintrag löschen??
zuerst solltest du bei OpenKey das True weg nehmen und dann bezweifel ich das du wirklich einen Key angelegt hast du den du löschen willst :wink: Handelt es sich vielleicht doch eher um einen Value?
|
Re: Autostart-Registry Eintrag löschen??
ehmmm.. dumme frage: wo ist der unterschied zw. value und key... ich möchte mein son ding in der reg löschen, das eben den Namen (GIS) hat, als typ steht da REG_SZ und nen Wert, also den Pfad.. und dieses gesamte dings möchte ich löschen.. also dass es dann eben nicht mehr startet... erstellen tu ich es mit
Delphi-Quellcode:
sry für meine unkenntniss :stupid:
reg.Writestring('GIS', Application.ExeName);
das TRUE kann ich nicht weglassen (nicht genügend wirkliche parameter) //EDIT: fehler ausgebessert (letzte zeile: statt False muss True stehn) |
Re: Autostart-Registry Eintrag löschen??
Delphi-Quellcode:
Ist nicht sehr hilfreich, weil es nichts über den Grund aussagt. Was sagt denn SysErrorMessage(GetLastError) an dieser Stelle?
ShowMessage('Key konnte nicht gelöscht werden');
|
Re: Autostart-Registry Eintrag löschen??
mit
Zitat:
Der unterschied zwischen Key und Value ist eigentlich einfach. Key's sind das was dir im Registryeditor als Ordner dargestellt wird. Und Values sind das was in den "Ordnern" liegt |
Re: Autostart-Registry Eintrag löschen??
alsoooo...
auf FALSE setzen bringt leider auch nix und als SysError sagt er nur ''Vorgang wurde erfolgreich beendet'' warum auch immer... und du hattest recht, ich will ein Value löschen.. MfG |
Re: Autostart-Registry Eintrag löschen??
hmmmm... mal anders gefragt, wie würdet ihr sowas machen??
kann mir mal jemand seien vorschlag/code posten?? oder kann es an meinem betriebssystem (win xp home) liegen?? thx |
Re: Autostart-Registry Eintrag löschen??
Hi,
wenn Du das hier schreibst:
Delphi-Quellcode:
Dann will er den Key
if reg.OpenKey('software\Microsoft\Windows\Currentversion\Run',True) then begin
if reg.DeleteKey('software\Microsoft\Windows\Currentversion\Run\GIS')= False then begin
Code:
löschen. Ich glaube nicht, dass es den gibt, oder?
\software\Microsoft\Windows\Currentversion\Run\software\Microsoft\Windows\Currentversion\Run\GIS
Außerdem willst Du einen Value löschen und keinen Key. Also mach Dein reg.openKey (aber mit False als Parameter) und dann lösch den Value "GIS". Die Funktion musst Du Dir aus der Onlinehilfe suchen, ich hab hier grad kein Delphi zur Verfügung. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 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