.NET
VB.NET: Eigenes Programm mit Windows starten lassen
Posted on .Oftmals ist es es von Nöten sein eigenes Programm beim Hochfahren von Windows automatisch starten zu lassen. Dies ist nicht wirklich anspruchsvoll aber dennoch sehr nützlich!
Windows bietet uns hier 2 Möglichkeiten dieses Vorhaben umzusetzen. Die erste ist es eine Verknüpfung zu unserem Programm zu erstellen und diese dann im Autostart Verzeichnis zu platzieren.
Bild 1: Der Windows Autostart Ordner im Startmenü
Dieser Ordner befindet sich unter dem folgendem Pfad:
C:\Users\[BENUTZERNAME]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Windows führt automatisch alle Dateien aus, die sich in diesem Ordner befinden, nachdem der Startvorgang abgeschlossen ist!
Die zweite (und meiner Meinung nach), bessere Methode ist es, einen entsprechenden Eintrag in der Registry zu setzen. Dies hat auch den Vorteil, dass man später die Verknüpfung nicht suchen und entfernen muss und dass der Benutzer diese nicht ausversehen löscht.
Wenn ihr in den dafür vorgesehenen Ordner schaut werdet ihr feststellen, dass dort (wahrscheinlich) auch andere Programme ihr Unwesen treiben.
Bild 2: Weitere Autostart Einträge
Diesen Registry Ordner findet ihr im Regestrierungseditor unter folgendem Pfad:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
In dem folgenden Codebeispiel werden wir hier einen Eintrag mit dem Verweis auf unser Programm einfügen.
Public Sub LoadOnStartup(ByVal DoOrNot As Boolean) Dim RegKey As String = "HKEY_CURRENT_USERSoftware" & _ "MicrosoftWindowsCurrentVersionRun" If DoOrNot = True Then My.Computer.Registry.SetValue _ (RegKey, "[PROGRAMMNAME]", My.Application.Info.DirectoryPath & _ "" & My.Application.Info.AssemblyName & ".exe") Else My.Computer.Registry.SetValue _ (RegKey, "[PROGRAMMNAME]", "") End If End SubWie man sieht ist es dank .NET nicht wirklich schwer einen Registryeintrag zu erstellen und zu bearbeiten, denn wenn ihr nicht mehr wollt, dass euer Programm mit Windows gestartet wird, löscht ihr den Eintrag einfach oder gebt statt dem Pfad etwas anderes ein.
In dem Code verwende ich den Kern-Schlüssen „HKEY_CURRENT_USER“ statt des oben erwähnten „HKEY_LOCAL_MACHINE“. Dies heißt nur, dass das Programm nur bei dem User Automatisch starten wird, der diesen Code ausführt. Benutzt man allerdings „HKEY_LOCAL_MACHINE“ wird das Programm bei allen Benutzern des Computers automatisch gestartet!
Zur Benutzung: Ruft diese Funktion einfach auf und übergebt True um euer Programm automatisch starten zu lassen, oder False um dies wieder zu unterbinden!
Da dies nur ein Copy & Paste Beispiel ist, habe ich hierfür kein Demoprojekt angefertigt, ich hoffe ihr könnt mir verzeihen! 🙂
Sebastian Gross
http://www.bigbasti.comSebastian Gross arbeitet in Bielefeld als Softwareentwickler für .NET und Java im Bereich Web.Als Fan der .NET-Plattform lässt er sich kein Userguppen Treffen und Community Event im Raum OWL entgehen.Dabei hat er eine besondere Vorliebe für das ASP.NET MVC Framework und für das Test Driven Development (TDD) entwickelt.
There are no comments.