Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.13;
Скачать: CL | DM;

Вниз

Как под ХР запустить и дождаться завершения дос-приложения ?   Найти похожие ветки 

 
Andrey V. ©   (2003-12-29 13:21) [0]

Как под ХР запустить bat файл или досовское приложение?
Делаю примерно так(под 98 это работает) :
Var
si:STARTUPINFO;
pi:PROCESS_INFORMATION;
cmdline : string;
SaveCursor : TCursor;
begin
result :=false;
SaveCursor :=Screen.Cursor;
Screen.Cursor:=crHourGlass;
try
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
//-----------------------
si.dwFlags:=STARTF_USESHOWWINDOW;
si.wShowWindow:=SW_HIDE;
//-----------------------
cmdline:="c:\somejob.bat";
if CreateProcess( nil,// Используем командную строку.
PChar(cmdline), // Командная строка.
nil,
nil, //
False, //
CREATE_SUSPENDED, // флаги создания
nil, // переменные окружения не меняем
nil, // текущая директория не изменна
si, // указатель на структуру STARTUPINFO .
pi ) // указатель на структуру PROCESS_INFORMATION .
then begin
Result:=True;
end;
WaitForSingleObject( pi.hProcess, INFINITE );
тут пробовал и WaitForSingleObject( pi.hProcess, 10000 );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
except
result:=false;
end;
Screen.Cursor := SaveCursor;
end;

не работает :(


 
alex_*** ©   (2003-12-29 13:47) [1]

что неработает? не запускается? или не ждет?


 
Andrey V. ©   (2003-12-29 19:45) [2]

Если стоит INFINITE - висит (ждет) беконечно долго, пока я его не прибью.
Если WaitForSingleObject( pi.hProcess, 10000 );
то ждет 10 сек и сваливает не выполнив работу , а работы там на 2 секунды. Там что-то типа arj x file.arj

пробовал cmdline:="arj x file.arj"- та же ерунда. Причем из среды все пускается и отрабатывает.


 
Pat ©   (2003-12-30 00:46) [3]

>si.wShowWindow:=SW_HIDE;
Попробуй sw_show и посмотри закрывается ли у тебя окно по окончанию сеанса.


 
Andrey V. ©   (2003-12-31 08:58) [4]

Если кому интиресно ,
надо ставить флаг CREATE_SEPARATE_WOW_VDM.
А в 98 - CREATE_SUSPENDED



Страницы: 1 вся ветка

Текущий архив: 2004.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
4-37980
Санёк
2003-11-08 19:51
2004.01.13
Хук на принтер можно или


7-37951
MakNik
2003-10-30 15:52
2004.01.13
Сервисы


1-37625
Darmen
2003-12-27 19:32
2004.01.13
System TRAY


14-37904
Думкин
2003-12-21 07:23
2004.01.13
С днем рождения! 21 декабря.


14-37875
race1
2003-12-22 15:18
2004.01.13
чайники