pourquoi ne ::CreateProcess(chemin d'accès,cmd,...) échoue avec l'erreur “Fichier non trouvé”?

Je suis en train d'avoir un programme en C++ déjà fait appel à un programme C# pour s'exécuter en arrière-plan.

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 est à 0 avant de CreateProcess
l'erreur est de 2 après CreateProcess

erreur 2:

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

Je l'ai changé à C:\ \ au cas où ils étaient de contrôle pour les séquences d'échappement mais j'ai toujours l'erreur 2 et je ne sais pas pourquoi.

  • Que le casting ne s'arrête que le compilateur de vous dire que vous avez fait mal. Il n'a pas vous arrêter de faire le mal. Mettre L en face de la chaîne pour en faire un caractère littéral.
  • est-il possible que le chemin de l'application ne peut être si long, aswell? J'ai mis le programme en C:\ pour les tests, mais il doit être dans le même répertoire que le programme qui est plus profonde dans le répertoire.
InformationsquelleAutor Grant | 2011-06-22