Autor Beitrag
AeroX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68



BeitragVerfasst: Fr 07.03.08 22:23 
Hallo,
ich möchte gerne dass mein Programm beim Start des
Pc's gestartet wird!

wie geht das?
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Sa 08.03.08 14:15 
user profile iconJü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.

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
AeroX Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68



BeitragVerfasst: Sa 08.03.08 14:30 
Ich bin bei google auf dieses Beispiel gestoßen,
aber es erscheint dieser Error:

ausblenden Quelltext
1:
Der Typ- oder Namespacename "WshShell" konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)					


ausblenden 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();