Problem mit CreateProcess
-
Moin,
ich arbeite momentan an einer prvaten GUI-Anwendung, die etwas Formatieren soll.
Ich rufe dazu die Windows Routine "Format.com" auf und übergebe die entsprechenden Parameter.STARTUPINFOA info = {sizeof(info)}; PROCESS_INFORMATION processInfo; if (!CreateProcessA(syspath,const_cast<char*>(command.str().c_str()) , NULL, NULL, TRUE, 0, NULL, NULL, &info, &processInfo)) { msg.setText("FAIL!"); msg.exec(); return; } WaitForSingleObject(processInfo.hProcess, INFINITE); CloseHandle(processInfo.hProcess); CloseHandle(processInfo.hThread);dabei ist syspath:
char syspath[MAX_PATH]; GetSystemDirectoryA(syspath,MAX_PATH); strcat(syspath,"\\"); strcat(syspath,"Format.com");und der command stream:
D: /V:Test /FS:FAT32 /q /x /yWenn ich das ganze per WinExec mache ist das absolut kein Problem, jedoch soll WinExec ja bei >16Bit Systeemen instabil sein. Deswegen wollte ich auf createProcess zurückgreifen. Es erscheint auch kurzzeitig ein Konsolenfesnetr, diesesschließt sich jedoch sofort wieder. Wo liegt der Denkfehler?
Gruß,
Nils
-
Hat sich erledigt. Wenn ich den ersten Parameter auf 0 setzte und damit dann die Konsole anspreche funktioniert es wunder. Und tschuldigung für die Rechtschreibfehler oben.
Gruß,
Nils