Entwickler-Ecke
Sonstiges (.NET) - An Systemstart anheften
AeroX - Fr 07.03.08 22:23
Titel: An Systemstart anheften
Hallo,
ich möchte gerne dass mein Programm beim Start des
Pc's gestartet wird!
wie geht das?
JüTho - Sa 08.03.08 12:36
Hallo,
Du musst eine lnk-Datei speichern in einem der Verzeichnisse:
C:\Dokumente und Einstellungen\Dein Name\Startmenü\Programme\Autostart
C:\Dokumente und Einstellungen\AllUsers\Startmenü\Programme\Autostart
Die genauen Namen der Verzeichnisse erhältst Du über die Environment.GetFolderPath-Methode mit der Environment.SpecialFolder-Enumeration.
Für das Erstellen der lnk-Datei habe ich viele Hinweise auf shortcut.exe gelesen; suche einmal danach.
Gruß Jürgen
Timosch - Sa 08.03.08 14:15
JüTho hat folgendes geschrieben: |
Für das Erstellen der lnk-Datei habe ich viele Hinweise auf shortcut.exe gelesen; suche einmal danach.
Gruß Jürgen |
Man ruft keine externen Anwendungen auf, um Betriebssystemfunktionen durchzuführen. Für soetwas gibt es API-Funktionen. Lnk-Dateien sind schlicht und einfach Verknüpfungen. Du brauchst also die .NET-Funktion zum Erstellen von Verknüpfungen. (Keine Ahnung, wie die heißt. Ich verwende Delphi/Win32.)
Andere (modernere) Möglichkeit: Registrierungseintrag unter:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run wenn es für alle Benutzer gelten soll, bei nur dem aktuellen Benutzer stattdessen unter HKEY_CURRENT_USER.
Also z.B. wenn dein Programm Test heißt und unter C:\Programme\Test\test.exe liegt: Den Wert "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\test" erstellen und darin "C:\Programme\Test\test.exe" eintragen.
AeroX - Sa 08.03.08 14:30
Ich bin bei google auf dieses Beispiel gestoßen,
aber es erscheint dieser Error:
Quelltext
1:
| Der Typ- oder Namespacename "WshShell" konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?) |
Quelltext
1: 2: 3: 4: 5: 6:
| WshShell shell = new WshShell(); IWshShortcut link = shell.CreateShortcut(myURL) as IWshShortcut; link.WindowStyle = 1; link.TargetPath = TargetURI; link.IconLocation = @"%SystemRoot%\system32\SHELL32.dll, 85"; link.Save(); |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!