Главная страница
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.016 c
1-37738
Alex-chainik
2003-12-30 12:26
2004.01.13
Создана ли форма


3-37550
dma
2003-12-14 20:15
2004.01.13
Master-Detail между двумя DBLookupComboBox`ами


8-37811
nuflin
2003-07-01 22:03
2004.01.13
как используя TRichEdit узнть длину строки, зная ее порядковый но


3-37515
AndrewK
2003-12-17 13:29
2004.01.13
Как хранить в таблице значения разных типов


9-37485
Кен
2003-06-27 06:02
2004.01.13
Вау ! Сайт glscene обновился ! Не прошло и пол-года