![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как не показывать окно
TUser © (2004-05-31 14:58:00)Надо запустить внешнюю прогу, но так, чтобы ее окно видно не было. Пишу так
FillChar(SI, ... );
SI.cd:= // размер
SI.wShowWindow:=SW_HIDE;
SI.Flags:=STARTF_USESHOWWINDOW;
FillChar(PI, ... );
Createrocess( ... , SI,PI);
WaitForSingleObject( ... );
CloseHandle( ... );
CloseHandle( ... );
Окно программы все равно видно. Запускается таким образом PowerArc c параметром -e, и он показывает мне окно с прогрессбарами, отображая процесс извлечения. Я так понимаю, что SW_HIDE действет только на главное окно, которое здесь и так скрыто, а неглавные окна все равно показываются. Или я не прав? Честно говоря, хотелось бы это окно убрать.
ЫЫЫ (2004-06-01 17:13:00) [1]Удалено модератором
Примечание: Offtopic
Игорь Шевченко (2004-06-01 16:35:00) [2]
> Окно программы все равно видно.
На свете есть много программ, которые игнорируют параметры
SI.wShowWindow:=SW_HIDE;
SI.Flags:=STARTF_USESHOWWINDOW;
даже для главного окна, что уж говорить про неглавные
Семен Сорокин (2004-06-01 11:24:00) [3]тоже давно с чем-то подобным сталкивался.
Можно попробовать ShellExecuteEx, а вместо WaitForSingleObject сделать цикл с Application.ProcessMessages + GetExitCodeProcess.
TUser (2004-06-01 10:47:00) [4]^