Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблемы с CreateProcess [D7, WinXP]


TuronixL ©   (2003-11-25 18:37:00) 

Здравствуйте Мастера. Не подскажите почему не запускается следующие приложение:

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:00) [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо