Zuerst dachte ich, dass cmd nur nach ausführbaren Dateien in den in der PATH-Variablen enthaltenen Verzeichnissen sucht. Daher habe ich zufällig eine Anwendung - winword.exe (Microsoft Word) - ausgewählt und versucht, sie über die Befehlszeile zu starten:
Der Grund dafür winword.exe
war, dass ein Registrierungsschlüssel vorhanden ist, der den Pfad zu Microsoft Word (Winword.exe) definiert. Ein ähnlicher Schlüssel existiert für Firefox.exe und Chrome.exe, wenn diese Anwendungen installiert sind.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
Was möchte ich wissen, wo genau die Eingabeaufforderung nach ausführbaren Dateien sucht?
System PATH Variable, User PATH Variable und die verschiedenen Schlüssel darin ..\App Paths
. Ich konnte bestätigen, dass Audacity bei der Installation keinen Schlüssel für sich selbst erstellt.
Wenn die ShellExecuteEx-Funktion mit dem Namen einer ausführbaren Datei in ihrem LpFile-Parameter aufgerufen wird, gibt es mehrere Stellen, an denen die Funktion nach der Datei sucht. Wir empfehlen, Ihre Anwendung im Registrierungsunterschlüssel App Paths zu registrieren. Dadurch wird vermieden, dass Anwendungen die Umgebungsvariable PATH des Systems ändern müssen.
- Das aktuelle Arbeitsverzeichnis.
- Nur das Windows-Verzeichnis (es werden keine Unterverzeichnisse durchsucht).
- Das Windows \ System32-Verzeichnis.
- Verzeichnisse, die in der Umgebungsvariable PATH aufgeführt sind.
- Empfohlen: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths
Quelle: Bewerbungsregistrierung