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

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

CreateProcess под ХР [D7, WinXP]


Ocean ©   (2003-03-25 11:14:00) 

Для разархивации сделал так:
Var aCommand, aTempDir : array[0..200] of Char;
FillChar( aCommand, Sizeof(aCommand), 0 );
StrPCopy( aCommand, "c:\arj.exe" ); //для простоты
StartInf.wShowWindow := SW_MINIMIZE;
Result := CreateProcess(nil,aCommand,nil,nil,FALSE,
CREATE_NEW_CONSOLE,nil,aTempDir,StartInf,ProcInf);
ProcHand := OpenProcess(SYNCHRONIZE,TRUE,ProcInf.dwProcessId);
WaitForSingleObject(ProcHand,INFINITE);

И под WinME это работает. Но, попытавшись запустить ее под WinXP, получил сообщение: ошибка при инициализации приложения, код 142 hex. Подскажите, что не так?


Внук   (2003-03-25 11:22:00) [1]

В StartupInfo все поля (не используемые), надо заполнять нулями, а в cbSize указывать размер структуры - для проверки на соответствие версии. Кроме того, непонятно, зачем здесь OpenProcess...


Наверх

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