Ich habe die CreateProcess Win-API verwendet, und ich habe mich gefragt, was der Unterschied zwischen der Verwendung der lpApplicationName und lpCommandLine für Argumente vs. nur der lpCommandLine-Parameter war.
Zum Beispiel:
CreateProcess(NULL, L"C:\Path\To\Notepad.exe", L"C:\Path\To\File\To\Load.txt"... etc
CreateProcess(NULL, NULL, L"C:\Path\To\Notepad.exe C:\Path\To\File\To\Load.txt"... etc
Ich nehme an, dass die zweite Option, bei der nur lpCommandLine verwendet wird, dem Öffnen von cmd.exe und dem Ausführen genau dieser Zeile entspricht. Aber was ist mit der ersten Zeile? Wird damit die Anwendung geladen und werden die Befehlszeilenargumente anders angegeben?
Ich habe einen Blick auf die MSDN-Dokumentation für die API, aber es scheint nicht wirklich Detail, was passiert, das, was die Parameter enthalten können, die in Ordnung ist, aber ich bin nur verwirrt über was ich tun sollte, wenn es mehrere Möglichkeiten, es zu tun sind.
Bitte beachten Sie, dass die beiden Beispielzeilen möglicherweise nicht funktionieren, da lpCommandLine eine LPTSTR und nicht eine LPCTSTR erfordert. Es dient nur dem besseren Verständnis.
Vielen Dank für jede Hilfe!
Andy