Kommandozeilenaufrufe

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
fxfx13
New Member
New Member
Posts: 1
Joined: 2007-05-06, 21:41 UTC

Kommandozeilenaufrufe

Post by *fxfx13 »

Hallo!
Ich hab in verschiedenen Verzeichnissen ein von mir geschriebenes Programm liegen (unterschiedliche Versionen zum testen).
Neben der Kommandozeile wird der aktuelle Pfad angezeigt -> c:\xyz>.
Dort gebe ich nun den Namen meiner EXE ein XYZ.EXE.
Aufgerufen wird allerdings nicht die im Pfad c:\xyz sondern die im Pfad c:\programme\xyz.

Das liegt daran das ich mein Programm per Setup automatisch in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths eingetragen habe.

Gibt es eine Möglichkeit die Priorität dahingehend zu ändern, daß wenn im aktuellen Pfad eine exe mit demselben Namen gefunden wird, diese vorrangig zu verwenden; ähnlich wie zu DOS Zeiten aktueller Pfad vor Path-Variable ?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50754
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Total Commander benutzt die Funktion ShellExecuteEx, die zeigt offenbar dieses Verhalten.

Lösung: Entfernen Sie das Programm aus "App paths", und tragen Sie dafür das Verzeichnis in die PATH-Variable ein. Dann hat das Programm im aktuellen Verzeichnis Vorrang, und das andere wird in anderen Verzeichnissen trotzdem noch gefunden.
Author of Total Commander
https://www.ghisler.com
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, fxfx13.

Lösungvorschlag:
  • Dein Programm wieder aus HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths austragen
  • Stattdessen den Ordner, in dem das Programm liegt, in den systmweiten PATH aufnehmen HKLM\System\CurrentControlSet\Control\Session Manager\Environment\Path. (Geht auch über Eigenschaften von Arbeitsplatz)
  • Dann sucht Windows beim Programmaufruf ohne vorangestellten Pfad zuerst im aktuellen Ordner und danach der PATH Variable folgend.
Hoffe das hilft,
Karl
--
Da war der Chef um 3 Minuten schneller. :oops: Wenigstens haben wir die selbe Idee gehabt. 8) Da kann sie ja nur richtig sein.
Post Reply