Paths und CreateProcess

Ich habe eine Frage zu einem Symptom meines Missbrauchs von CreateProcess. Ich verwende den Parameter lpcommandline, um den Pfad zu meiner ausführbaren Datei und meinen Parametern zu bestimmen. Mein Missbrauch ist, dass ich den Pfad zur Exe nicht mit Anführungszeichen umgeben habe.

Meine Frage ist, warum funktioniert der CreateProcess auf den meisten Computern und nicht auf anderen? Ich weiß, dass der Pfad in den meisten Fällen einen Platz hat, aber auf 90% der XP-Computer funktioniert er. Natürlich habe ich mein Problem bei den 10% herausgefunden, bei denen es nicht der Fall war. Aber ich frage mich, was auf den Maschinen anders ist, wo es nicht funktioniert? Gibt es eine Einstellung oder eine Richtlinie, über die jemand von Ihnen Bescheid weiß? Und ja, ich werde das Zitatproblem beheben. Ich bin nur neugierig, warum so etwas nicht einfach so gescheitert ist.

So würde der Code ungefähr so aussehen wie unten und der szCommandLine-Parameter ungefähr so wie unten. Beachten Sie keine Anführungszeichen um den Pfad zur exe.

"C: \ Programme \ My Company \ doit.exe parameter1 parameter2"

CreateProcess(
    NULL,           
    szCommandLine,  
    NULL,           
    NULL,           
    FALSE,          
    NULL, 
    NULL,  
    NULL,           
    &si,            
    &pi )       

Antworten auf die Frage(4)

Ihre Antwort auf die Frage