Zitat von
SirThornberry:
Welchen Wert hast du denn für das CurrentDirectory angegeben? Das gleiche wie in der Verknüpfung über die du normalerweise das Programm startest?
@Dezipaitor: Muss man das angeben?
Laut
MSDN:
Zitat:
A pointer to the environment block for the new process. If this parameter is NULL, the new process uses the environment of the calling process.
Ich habe die Lösung gefunden (sie ist nicht sauber, da ich ein Verzeichniss direkt angegeben habe), obwohl mir nicht klar ist warum es auf dem Laptop ohne diese Änderung funktioniert. Also, als CurrentDir habe ich nicht das Programmverzeichnis sondern das Verzeichnis in welchem sich die gemeldete
dll befindet angegeben:
C:\Programme\Gemeinsame Dateien\Autodesk Shared\
Das Problem liegt offensichtlich darin, dass beim Programmaufruf über CreateProces der Pfad mit den Bibliotheken nicht bekannt ist.
Kann es sein, dass das CreateProcess die PATH Variable nicht benutzt? Dies wäre die einzige Erklärung, da ich das Programm direkt problemlos aufrufen kann.
Es bleibt aber unerklärbar warum es am Laptop funktioniert.
Also, warum CreateProcess den "shared" Pfad (Gemeinsame Dateien) am Laptop durchsucht und am PC nicht?
Darf man als CurrentDirectory die PATH Variable angeben?