![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Возврат в приложение после CreateProcess [D5, Win95/98, Win2k]
Sergey_El'f © (2003-01-20 16:33:00)Чайниковский вопрос:
имею фрагмент кода (позорно содранный откуда-то), к-рый запускает раровский sfx-архив, и ожидает окочнания его выполнения:
CreateProcess( nil, pchar(cmdline), nil, nil, false, 0,
nil, nil, si, pi);
WaitForSingleObject( pi.hProcess, INFINITE );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
но приложение потом становится неактивным долгое время. как сделать так чтобы оно активизировалось после рара?
и еще вопрос:
как организовать "слежение за отчетом", то есть ставить курсор в последню строку мемо-поля?
memo1.Lines.Strings[memo1.Lines.Count-1];
не работает...
MsGuns (2003-01-20 19:17:00) [1]Application.ProcessMessages ?
Sergey_El'f (2003-01-20 17:50:00) [2]что-то не помогло...
у меня, конкретно, вот что происходит:
после завершения работы рара, даже если было активным мое окно, становится активным лбое другое (на самом деле, видимо, предыдущее активное окно) ...
может быть дело в параметрах каких-нить?
а как послать сообщение я не знаю...
Digitman (2003-01-20 17:42:00) [3]пошли окну нужной формы сообщение WM_SETFOCUS
или вызови метод MyNonActiveForm.SetFocus()
Sergey_El'f (2003-01-20 17:33:00) [4]опять я ламерю......
окно моей программы не становится активным, и не хочет им становиться, пока не переключишься в него принудительно...
Digitman (2003-01-20 17:07:00) [5]"процессов" у тебя всего два : один - твой собственный, другой - RAR-процесс
и неактивность окна не имеет никакого отношения к теме "неактивности" твоего процесса ... он как шел так и продолжает идти
Sergey_El'f (2003-01-20 16:59:00) [6]очень прошу меня извинить за ламерскую постановку вопроса
уточняю:
при таком коде у меня после ЗАВЕРШЕНИЯ выполнения рара окно программы неактивизировано,а у меня там процессы идут...
Digitman (2003-01-20 16:58:00) [7]
> нуна абизательна..
"нуна абизательна" передавать корректные параметры в ф-цию WaitForSingleObject()
а чтобы твое приложение в ходе ожидания завершения RAR-процесса имело возможность продолжать свою внутреннюю "бурную деятельность", а ля реагировать на события клавы/мыши, "нуна абизательна" вызывать MsgWaitForMultipleObjects() вместо WaitForSingleObject()
Reindeer Moss Eater (2003-01-20 16:56:00) [8]А по-моему ты этого и хотел
Sergey_El'f (2003-01-20 16:53:00) [9]это ответ to Reindeer Moss Eater
Sergey_El'f (2003-01-20 16:52:00) [10]спасибо за ответ, но по-моему, теперь программа не дожидается окончания работы рара, а это нуна абизательна...
MBo (2003-01-20 16:51:00) [11]>ставить курсор в последню строку мемо-поля
по OnChange SelStart:=Length(memo1.text);
Reindeer Moss Eater (2003-01-20 16:45:00) [12]Не вызывать WaitForSingleObject