001
02.01.2003, 17:34 Uhr
Uwe
C/C++ Master (Administrator)
|
Hallo Uli, CreateProcess() gibt einen boolschen Wert zurück. wenn Du eine Fehlerbehandlung schreiben willst dann kannst Du das etwa so lösen:
C++: |
void CCreateDlg::OnCreate() { char szCmdLine[] = "c:\\temp\\test.bat";
STARTUPINFO si; memset(&si, 0, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO);
PROCESS_INFORMATION pi; memset(&pi, 0, sizeof(PROCESS_INFORMATION)); BOOL ret = CreateProcess(NULL, szCmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
if (!ret){ int err = GetLastError(); char szMsg[80]; if (err == ERROR_PATH_NOT_FOUND || err == ERROR_FILE_NOT_FOUND) sprintf(szMsg, "Cannot find %s", szCmdLine); else sprintf(szMsg, "Error %d", err); AfxMessageBox(szMsg, MB_OK|MB_ICONSTOP); } }
|
oder wie im Thread Netzwerkressourcen. -- "Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."
Bis dann... Uwe |