Die aktuelle exe als Verknüpfung in Autostart packen
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 46 Antworten in diesem Thema. Der letzte Beitrag () ist von PascalN.
-
-
-
-
hy
Wenn du willst, dass für jeden Benutzer getrennt der Autostart angelegt wird, nimm Folgenden code.
Ich würds lieber in die Registry auslagern, ist eleganter.
Wenn du weitere Hilfe brauchst, sag Bescheid ;).
Wichtig:
Zuerst musst du den COM-Verweis namens Microsoft Shell Controls And Automation
hinzufügen.
Function für Shortcut erstellen:
VB.NET-Quellcode
- Public Function CreateShortcut(ByVal sLinkFile As String, _
- ByVal sTargetFile As String, _
- Optional ByVal sArguments As String = "", _
- Optional ByVal sDescription As String = "", _
- Optional ByVal sWorkingDir As String = "") As Boolean
- Try
- Dim oShell As New Shell32.Shell
- Dim oFolder As Shell32.Folder
- Dim oLink As Shell32.ShellLinkObject
- ' Ordner und Dateinamen extrahieren
- Dim sPath As String = sLinkFile.Substring(0, sLinkFile.LastIndexOf("\"))
- Dim sFile As String = sLinkFile.Substring(sLinkFile.LastIndexOf("\") + 1)
- ' Wichtig! Link-Datei erstellen (0 Bytes)
- Dim F As Short = FreeFile()
- FileOpen(F, sLinkFile, OpenMode.Output)
- FileClose(F)
- oFolder = oShell.NameSpace(sPath)
- oLink = oFolder.Items.Item(sFile).GetLink
- ' Eigenschaften der Verknüpfung
- With oLink
- If sArguments.Length > 0 Then .Arguments = sArguments
- If sDescription.Length > 0 Then .Description = sDescription
- If sWorkingDir.Length > 0 Then .WorkingDirectory = sWorkingDir
- .Path = sTargetFile
- ' Verknüpfung speichern
- .Save()
- End With
- ' Objekte zerstören
- oLink = Nothing
- oFolder = Nothing
- oShell = Nothing
- Return True
- Catch ex As Exception
- ' Fehler! ggf. Link-Datei löschen, falls bereit erstellt
- If System.IO.File.Exists(sLinkFile) Then Kill(sLinkFile)
- Return False
- End Try
- End Function
und der code für In Autostart einfügen:
und noch der code für Aus dem Autostart entfernen:
VB.NET-Quellcode
- If My.Computer.FileSystem.FileExists(Environment.GetFolderPath(Environment.SpecialFolder.Startup) & "\NAME DER RESULTIERENDEN VERKNÜPFUNG.lnk") = True Then
- My.Computer.FileSystem.DeleteFile(Environment.GetFolderPath(Environment.SpecialFolder.Startup) & "\NAME DER RESULTIERENDEN VERKNÜPFUNG.lnk")
- else
- MsgBox("Autostart war schon Deaktiviert")
- end if
hoffe das hilft dir weiter:P Mfg Aligator :P -
-
Okay hier nochmal kompakter.
War gestern Abend etwas zu ungenau^^
Also:
Ich hab ne offene Anwendung als exe. Diese soll in ein x-beliebiges Verzeichnis kopiert werden. Von dort soll eine Verlinkung in den Autostart erfolgen (Alle User).
Wenn ihr mir soweit helfen könntet wäre super.
Daraus bau ich mir dann noch ne Überprüfung ob die Verlinkung noch da ist und wenn nicht kopiere ich eine neu in das Verzeichnis. -
Eine Verknüpfung erstellst du so: vbarchiv.net/tipps/details.php?id=1601
Autostart: Siehe oben
Grüsse
Pascal -
-
-
-
-
nein nicht auf dich
ich meine OhManIchAnfänger
nachdem ich meinen code geschrieben hab, hat er dann
Okay hier nochmal kompakter.
War gestern Abend etwas zu ungenau^^
Also:
Ich hab ne offene Anwendung als exe. Diese soll in ein x-beliebiges Verzeichnis kopiert werden. Von dort soll eine Verlinkung in den Autostart erfolgen (Alle User).
Wenn ihr mir soweit helfen könntet wäre super.
Daraus bau ich mir dann noch ne Überprüfung ob die Verlinkung noch da ist und wenn nicht kopiere ich eine neu in das Verzeichnis.
geschrieben, und genau des macht ja der code. oder?
und dann später:
Supi, aber wie finde ich den den aktuelle Pfad der geöffneten Exe raus mit namen zum kopieren?
hoffe ich hab dich, OhManIchAnfänger, nich beleidigt,
aber wenn jemand einen code hinschreibt, und du dann fragen stellst, die sich beantworten würden, wenn du den code nur genau lesen würdest, dann zeigt dass, dass du ihn nicht oder kaum angeschaut hast.
ERST lesen, DANN schreiben!
Dies als tipp für die Zukunft
soltest du den code jedoch nicht verstehen, dann nehm ich alles zurück
du kannst mich gernefragen:P Mfg Aligator :PDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „aligator“ ()
-
Verknüpfung wird nicht viel bringen, du muß schon dein programm in Regestrierung eintragen, damit deine Anwendung mit System startet. Das System erstellt automatisch in "AutoStart" verknüpfung !
dotnet-snippets.de/dns/autostart-etwas-kuerzer-SID787.aspx
oder
sollte keine Vernüpfung erstellt werden, kannst du Code von aligator verwenden !Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SystemUnknow“ ()
-
-
@SystemUnknow
Falsch!
Die Einträge im Autostart Ordner werden zusätzlich gestartet. Die Einträge in der Registry sind nicht automatisch im Autostart-Ordner. Und wenn er eine manuell erstellte Verknüpfung in den Autostartordner erstellt ist das eine Möglichkeit. Eine weitere Möglichkeit wäre es eben, ein Registry-Eintrag zu machen.
Grüsse
Pascal -
Wir ham wohl gleichzeitig geschrieben...
ja , des mit der registry ist halt elegannter, wie du schon gesagt hast.
Machs am besten mit der registry, ist auch viel weniger code:P Mfg Aligator :PDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „aligator“ ()
-
-
Wie du WAS kopierst?
Zugriff auf die Registry: msdn.microsoft.com/de-de/libra…n32.registry_members.aspx
Schlüssel: "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows <oder Windows NT>\Current Version\Run\"
Grüsse
Pascal -
-
-
Ähnliche Themen