Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как не показывать окно


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]

^


Наверх

Титульная страница Поиск, карта сайта Написать письмо