Форум: "WinAPI";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
ВнизПроблемы с CreateProcess Найти похожие ветки
← →
TuronixL (2003-11-25 18:37) [0]Здравствуйте Мастера. Не подскажите почему не запускается следующие приложение:
procedure TForm1.Button1Click(Sender: TObject);
var
sinfo : STARTUPINFO;
pinfo : PROCESS_INFORMATION;
begin
sinfo.cb := sizeof(sinfo);
sinfo.wShowWindow := SW_SHOWNORMAL;
CreateProcess(nil,"autoweb.exe", nil, nil, false, 0, nil, nil, sinfo, pinfo);
end;
Возникает следующее сообщение: "Ошибка при инициализации приложения (0хс0000142)"
← →
panov (2003-11-25 19:26) [1]Структуру STARTUPINFO, помнится, обнулять надо...
Нижеприведеннй код работает без проблем:
procedure ExecCmd(const aCommand: String;const aShow, aWaitExit: Boolean);
var
pi:PROCESS_INFORMATION;
si:STARTUPINFO;
cmdLine,Path: String;
begin
ZeroMemory(@si,sizeof(si)); Память надо обнулить
si.cb:=SizeOf(si);
si.dwFlags := STARTF_FORCEONFEEDBACK+STARTF_USESHOWWINDOW;
if aShow then si.wShowWindow := SW_SHOWNORMAL else si.wShowWindow := SW_HIDE;
Path := ExtractFilePath(aCommand);
cmdLine := aCommand;
if CreateProcess( nil, // No module name (use command line).
PChar(cmdLine), // Command line.
nil, // Process handle not inheritable.
nil, // Thread handle not inheritable.
False, // Set handle inheritance to FALSE.
0, // No creation flags.
nil, // Use parent"s environment block.
PChar(Path), // Use parent"s starting directory.
si, // Pointer to STARTUPINFO structure.
pi ) // Pointer to PROCESS_INFORMATION structure.
then
begin
if aWaitExit then WaitForSingleObject( pi.hProcess, infinite );
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess)
end;
end;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.011 c