Die Registrierung verwenden, um Autostart-ein Programm, und auch ändern Sie das aktuelle Arbeitsverzeichnis?
Ich versuche, ein Programm zu starten, die ich in dieses Verzeichnis:
C:\example\example.exe -someargument
wenn der computer gestartet wird. Ich bin versucht, verwenden Sie diese Registrierungsschlüssel:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
mit der Taste:
Name: example
Type: REG_SZ
Data: "C:\example\example.exe -someargument"
Aber mein Programm muss auch die Dateien aus dem Verzeichnis C:\example aber kann Sie nicht finden, da das aktuelle Arbeits-Verzeichnis ist anders. Ist es möglich, etwas zu tun, wie dies in den Wert des Registrierungsschlüssels
"cd C:\example\; example.exe -someargument"
so, dass es das Verzeichnis ändern? Oder gibt es eine bessere Lösung?
Dank!
- Wenn Sie sagen "ich habe", haben Sie geschrieben example.exe? Wenn ja, in welcher Sprache?
- Ja, es wurde in C++
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie sich registrieren und Ihre Bewerbung unter weiter registry-Schlüssel (wie diese hat Reg2Run tool)
So
System.Diagnostics.Run("example.exe");
starten Sie Ihre Anwendung mit dem angegebenen Pfad arbeiten.Oder einen anderen Weg: schreiben Sie einen launcher mit C#. Sie können das gleiche tun mit einem PowerShell-cmdlet.
Beim starten der Anwendung, machen Sie Folgendes (das ist C# konvertieren von C++):
Wenn die Dateien immer im gleichen Verzeichnis wie Ihre Anwendung, verwenden Sie die - Anwendung.ExecutablePath zu, suchen Sie das Arbeitsverzeichnis für die Dateien in Ihrem code, dann können Sie auf Sie, egal was.
Wenn Sie benötigen, laden von DLLs aus dem gleichen Verzeichnis können Sie erstellen, Unterschlüssel
example.exe
unterRegistrierungsschlüssel und definieren
PATH
REG_SZ
Wertexample.exe
Können Sie auch erstellen Sie eine Verknüpfung für das Programm in den Ordner und verweisen diese Verknüpfung in der registry: