![]() |
Programm zur beim Windowsstart starten!
Kann ich mein Programm auch anders beim Systemstart starten, als mit Autostart?
|
Re: Programm zur beim Windowsstart starten!
|
Re: Programm zur beim Windowsstart starten!
Moin geisi,
oder such' hier mal nach ![]() Damit könntest Du einen Link im Autostartordner anlegen. |
Re: Programm zur beim Windowsstart starten!
Zitat:
|
Re: Programm zur beim Windowsstart starten!
current_user\software\microsoft\windows\currentVer sion\run
gibts noch, wird wie der autstart bei jedem anmelden augeführt |
Re: Programm zur beim Windowsstart starten!
Moin Assarbad,
Zitat:
|
Re: Programm zur beim Windowsstart starten!
Exakt ... und der wird auch per User ausgeführt. Nur eben per User für alle User die sich je einloggen ... offensichtlich ein Mißverständnis deinerseits.
Beispiel (Autostart-Verzeichnisse, symbolisch):
Code:
Beispiel (Autostart-Eintrag in Registry, symbolisch):
Otto\Autostart
Karl\Autostart All Users\Autostart Loggt sich Karl ein, wird "Karl\Autostart" UND "All Users\Autostart" ausgeführt. Loggt sich Otto ein, wird "Otto\Autostart" UND "All Users\Autostart" ausgeführt.
Code:
Jetzt klar???
Otto\Run
Karl\Run HKEY_LOCAL_MACHINE\Run = HKLM\Run Loggt sich Karl zuerst ein, wird "Karl\Run" UND "HKLM\Run" ausgeführt. Loggt sich Otto danach ein, wird "Otto\Run" ausgeführt und das wars. ODER Loggt sich Otto zuerst ein, wird "Otto\Run" UND "HKLM\Run" ausgeführt. Loggt sich Karl danach ein, wird "Karl\Run" ausgeführt und das wars. All Users ist nur ein Hilfsprofil welches für ALLE User gilt. HKLM\Run wird zwar auch erst beim Logon und nicht eher gestartet (das Policy Skript hingegen schon vor dem Logon, zumindest jedoch unabhängig vom Logon ... es gibt natürlich keine Garantie, daß das Startup Skript schneller ist als der Logon ;)), aber nur einmal pro Boot des Systems. So daß immer nur der erste Benutzer in den Genuß dieses Programmes kommt. Dieses Verhalten läßt sich IMO aber auch noch beeinflußen. Noch eine Idee zur Frage: Man kann auch unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon den Wert UserInit anpassen. Das entsprechende Programm wird allerdings im SYSTEM-Kontext ausgeführt. |
Re: Programm zur beim Windowsstart starten!
Ich habe sowas in mein Programm gebracht, wird beim Ok-Klicken übernommen.
Ich habe nur ein Problem: Das ganze wird über eine CheckBox gemacht, und die soll ja auch angehakt sein, wenn das Programm geöffnet wird und der Key vorhanden ist. Wie kann ich das überprüfen? |
Re: Programm zur beim Windowsstart starten!
Kuck doch, ob der Schlüssel vorhaben ist und setzt entsprechend den Haken in der der Checkbox.
|
Re: Programm zur beim Windowsstart starten!
Habe ich auch schon gemacht, mit KeyExists, hat aber nicht funktioniert.
Kann mir mal jemand 'n Codebeispiel schicken? |
Re: Programm zur beim Windowsstart starten!
Zeig erstmal, was du schon hast, dann müsen wir nicht von vorne anfangen.
|
Re: Programm zur beim Windowsstart starten!
hi,
versuch's mal mit folgendem: OpenReadOnly (damit du keine Fehlermeldung bekommst wenn der Schlüssel nicht existiert bzw. ValueExists (um zu guggn ob der Wert existiert ;) |
Re: Programm zur beim Windowsstart starten!
Hier ist der Code:
Delphi-Quellcode:
Aber das Ding ist nie angehakt.
Reg := TRegistry.Create;
if Reg.KeyExists('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run') then StartBox.Checked := True else StartBox.Checked := False; Reg.Free; |
Re: Programm zur beim Windowsstart starten!
Was für einen Fehler bekommst deu denn zurück? (GetLastError) Eventuell erst öffen den Schlüssel? Und wie wäre es mit einem klitze kleinen Ressourcenschutzblock?
|
Re: Programm zur beim Windowsstart starten!
Moin F.W.,
hast Du für die CheckBox zufälliger Weise einer OnClick Routine? Diese wird bei Zuweisung eines Wertes an Checked aufgerufen. |
Re: Programm zur beim Windowsstart starten!
Ich bekomme keine Fehlermeldung zurück, die CheckBox ist nurnicht angehakt.
Kann es sein, dass ich noch den Namen der Exe irgendwie anhängen muss? |
Re: Programm zur beim Windowsstart starten!
Moin F.W.,
Zitat:
Ansonsten müsstest Du den Key öffnen und mit ValueExists prüfen, ob der von Dir eingetragenen Wert da drin steht, bzw. mit ReadString prüfen, ob er auch den gewünschten Inhalt hat. Du kannst Dir übrigens die if Abfrage einsparen:
Delphi-Quellcode:
StartBox.Checked := Reg.KeyExists('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run');
|
Re: Programm zur beim Windowsstart starten!
Danke, dann werde ich also den Key öffnen und mit ValueExists prüfen :coder: .
PS: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 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