warum ::CreateProcess(Pfad,cmd,...) der Fehler "Datei nicht gefunden"?

Ich versuche, ein C++ - Programm aufrufen, eine schon aus C# - Programm im hintergrund laufen.

STARTUPINFO info = {sizeof(info)};
PROCESS_INFORMATION processinfo;
DWORD error1 = GetLastError();
bool x = ::CreateProcess((LPCWSTR)"C:\Convert_Shrink.exe", GetCommandLine(), NULL, NULL, false, 0,NULL,NULL, &info, &processinfo);
DWORD error = GetLastError();

error1 ist 0, bevor CreateProcess
Fehler 2 nach CreateProcess

Fehler 2:

ERROR_FILE_NOT_FOUND 2 (0x2) The system cannot find the file specified.

Ich habe es geändert zu C:\ \ incase Sie waren die Prüfung für die escape-Sequenzen aber ich bekomme immer noch 2 Fehler und ich bin nicht sicher, warum.

Dass cast nur Stoppt der compiler zu sagen, man, du hast es falsch. Es nicht zu stoppen Sie tun es falsch. Setzen Sie ein L vor den string, um es ein Unicode-literal.
ist es möglich, dass der Pfad der Anwendung nur so lange gut? Ich lege das Programm in C:\ zum testen, aber es muss im gleichen Verzeichnis wie das Programm, die tiefer in das Verzeichnis.

InformationsquelleAutor Grant | 2011-06-22

Schreibe einen Kommentar