DLL benutzt die PATH Umgebungsvariable nicht?

tass

Mitglied
Hallo Leute,

Ich habe eine Programm indem ich per LoadLibrary eine DLL lade.
Die DLL ist nicht von mir geschrieben und ich habe auch Ihren Quellcode nicht. An sich ist das auch kein Problem, den die DLL läuft fehlerfrei.

Mein Problem ist nun das die DLL ein anderes .exe Programm starten soll, dass nicht in Working Directory liegt und auch in der PATH Umgebungsvariable ist der Pfad nicht vorhanden.

Als Lösung dachte ich es reicht die PATH Umgebungsvaiable von meinem Programm aus zu ändern. Mein Programm kann die .exe jetzt auch finden, nur die DLL scheint die PATH Umgebungsvariablenänderung nicht mitzubekommen, denn sie findet die .exe nicht.

Fals jemand weiss wie ich auch der DLL die PATH Ungebungsvariable geben kann, melde sich bitte.

thx tass
 
Kannst du der DLL nicht einfach den kompletten Pfad übergeben?

Mit PATH würde ich nicht unbedingt rumspielen. Zuviele Unterschiede bei den Windows-Versionen.
 
Kennt ihr das, man ärgert sich mit einem Problem solange herum bis man sich entschliesst es zu Posten. Man nimmt sich die Zeit um alles genau zu schildern, damit man brauchbare Antworten erhält und was passiert dann?
Fünf Minuten Später findet man eine Einfache Lösung selber! :-)

Die Lösung in diesem fals lautet, das ich die PATH ändern muss bevor ich den LoadLibrary mache, weil mein Programm und die DLL jeweils eigene PATH Variablen zu haben scheinen und die DLL lediglich die PATH von meine Programm erbt :eek:

by tass
 
ganz ehrlich - spiel nicht mit der PATH-Variable. Dein Programm braucht sonst mehr rechte als eigentlich nötig. Damit kann es zu komplikationen besonders bei XP und 2000 kommen und das ist eigentlich unnötig.
 
Zurück