![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день.
После того как закроется окошко '<user>' выполняется батник Get.bat, затем идет задержка 1000 секунд, затем выполняется батник Start.bat, потом опять идет задержка 200 сек и затем закрывается окошко C:\Get\Get.exe. Код:
if FindWindow(nil, '<user>') <> 0 then
PostMessage(FindWindow(nil, '<user>'), WM_CLOSE, 0, 0);
WinExec('Get.bat', SW_SHOW);
Delay(1000000);
WinExec('Start.bat', SW_SHOW);
Delay(200000);
if FindWindow(nil, 'C:\Get\Get.exe') <> 0 then
PostMessage(FindWindow(nil, 'C:\Get\Get.exe'), WM_CLOSE, 0, 0);Все отлично работает, проблема только в том, что неизвестно как долго будет выполняться батник Get.bat, вот содержимое батника Код:
Start /w C:\user.exe /USER "user" "password" /MOFF /CONNECT "user" /READ /DISCONNECT /SHUTDOWN Как видно из содержимого батника опять открывается окно <user>, выполняются какие-то действия и окошко <user> опять закрывается. Хотелось бы чтобы вместо Delay(1000000) была функция или процедура, которая проверяла бы окончание работы батника и если батник завершил свою работу, т.е. окошко <user> закрылась, то дальше идет выполнение батника Start.bat |
|
#2
|
||||
|
||||
|
Код:
procedure CreateProcess(CommandLine: String);
var
startupinfoa: _STARTUPINFOA;
processinformation: _PROCESS_INFORMATION;
begin
ZeroMemory(@startupinfoa, SizeOf(_STARTUPINFOA));
startupinfoa.cb:=SizeOf(_STARTUPINFOA);
startupinfoa.dwFlags:=STARTF_USESHOWWINDOW;
startupinfoa.wShowWindow:=SW_SHOW; // SW_HIDE
Windows.CreateProcess(nil, PChar(CommandLine), nil, nil, False, 0, nil, nil,
startupinfoa, processinformation);
WaitForSingleObject(processinformation.hProcess, INFINITE);
CloseHandle(processinformation.hProcess);
end;
begin
CreateProcess('z.bat');
end;z.bat: Код:
echo begin ping 127.0.0.1 echo end выход из процедуры CreateProcess произойдет только по окончании выполнения z.bat |
|
#3
|
|||
|
|||
|
Огромное спасибо NumLock.
Где тут нажать на кнопку "Спасибо" ?. Последний раз редактировалось royun, 29.11.2011 в 09:44. |