![]() |
Autostart Funktion - Ordner bei Windows-Start geöffnet
Hi,
ich habe bei meinem Programm eine Autostart Funktion eingebaut. Mein Programm wird über ein Setup (erstellt mit InnoSetup) installiert. Nun habe ich das Problem, dass beim Windows-Start der Ordner geöffnet wird, in dem sich das Programm befindet. Das komische ist, dass ich in der Registry unter HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run nichts finden kann. Wo kann ich denn sonst noch gucken? |
Re: Autostart Funktion - Ordner bei Windows-Start geöffnet
Ohne weitere Kenntnisse (Betriebsystem, Version von Innosetup) und wie Du das Programm installiert hast (Konfiguration von Innosetup) kann man Dir wahrscheinlich keinen Rat geben.
Hast Du den Effekt zum ersten Mal ? Hast Du die neuste Version von ImmoSetup ? Hast Du mal dort im Forum nachggeschaut ? Hast Du heir mal etwas Code ? Installierst Du zum ersten Mal ein Program ? |
Re: Autostart Funktion - Ordner bei Windows-Start geöffnet
Moin Yheeky,
schau doch mal unter HKEY_CURRENT_USER. Den Run-Key gibt es i.d.R. auch dort. Falls der Eintrag dort ist: Vielleicht musst Du noch zwischen einer Installation für einen User (HKEY_CURRENT_USER) und für alle User (HKEY_LOCAL_MACHINE) unterscheiden. |
Re: Autostart Funktion - Ordner bei Windows-Start geöffnet
Mhmm, also bei HKEY_CURRENT_USER konnte ich nichts finden.
Vielleicht hilft euch dieser Code weiter. So lasse ich meine Anwendung in die Registry eintragen und wieder entfernen:
Delphi-Quellcode:
Vielleicht hat der Code hier damit zu tun?
// Anwendung in die Registry eintragen...
procedure DoAppToRun(RunName, AppName: string); var Reg: TRegistry; begin Reg := TRegistry.Create; with Reg do begin RootKey := HKEY_LOCAL_MACHINE; OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True); WriteString(RunName, AppName); CloseKey; Free; end; end; // Anwendung aus der Registry entfernen... procedure DelAppFromRun(RunName: string); var Reg: TRegistry; begin Reg := TRegistry.Create; with Reg do begin RootKey := HKEY_LOCAL_MACHINE; OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True); if ValueExists(RunName) then DeleteValue(RunName); CloseKey; Free; end; end; |
Re: Autostart Funktion - Ordner bei Windows-Start geöffnet
trägst du das in deiner app ein?
DIESER CODE IST TÖDLICH bereits unter Win98 (oder wars 95?) haben nur noch Admins die Zugriffstrechte auf LOCAL_MACHINE. |
Re: Autostart Funktion - Ordner bei Windows-Start geöffnet
Okay...wie soll ich sonst einen Autostart realisieren?
|
Re: Autostart Funktion - Ordner bei Windows-Start geöffnet
indem du den key HKEY_CURRENT_USER verwendest. Oder das gute alte Startmenü.
|
Re: Autostart Funktion - Ordner bei Windows-Start geöffnet
Zitat:
|
Re: Autostart Funktion - Ordner bei Windows-Start geöffnet
Moin Yheeky,
Du solltest aber auch prüfen, ob die jeweiligen Aufrufe auch erfolgreicht waren, ausserdem fehlen die Resourcenschutzblöcke, z.b. so:
Delphi-Quellcode:
Ausserdem gehören solche Registrierungen auch ins Setup, und nicht ins Programm ;-)
// Anwendung in die Registry eintragen...
procedure DoAppToRun(RunName, AppName: string); var Reg: TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if not Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True) then exit; try Reg.WriteString(RunName, AppName); finally Reg.CloseKey; end; finally FreeAndNil(Reg); end; end; |
Re: Autostart Funktion - Ordner bei Windows-Start geöffnet
Okay, danke für den Code. Werde es dann so machen, dass man es per Setup einstellt :thumb:
Zurück zum eigentlichen Thema: Wie kann ich denn nun verhindern, dass beim Systemstart der Ordner im Explorer geladen wird? Was auffällt ist, dass dies vor dem Laden der TNA Icons bzw. beim Laden der ersten TNA Icons passiert. In der Registry bin ich nicht fündig geworden, aber dort müsste es doch stehen oder? Gibt´s da noch ne andere Möglichkeit? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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 by Thomas Breitkreuz