Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как отобразить в Task Manager невидимое проложение?

513
19 сентября 2008 года
Yurec
228 / / 21.09.2005
И так имеем: MainFrm.Visible:=false;
В результате в Task Manager тоже ничего не видно, а нужно чтобы программу там было видно.
5
19 сентября 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Yurec
И так имеем: MainFrm.Visible:=false;
В результате в Task Manager тоже ничего не видно, а нужно чтобы программу там было видно.

Список процессов смотрели? :D

И еще. В списке "задач" у таск-менеджера отображается список видимых топ-левел окон.

3.7K
19 сентября 2008 года
0nni
326 / / 24.06.2008
Да и кстати отображается во вкладке приложения не окно MainFrm а окно Application.

Вот если это поставить в onCreate
 
Код:
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);


А это например в Form1onClick
 
Код:
ShowWindow(handle, SW_HIDE);


То получится то что вам нужно. Хотя почти уверен что это гемор, потому как VCL "не любит" WinApi.
6
19 сентября 2008 года
George
4.1K / / 05.01.2007
вцл нормально относится к винапи если грамотно их совмещать. Для этого надо знать механизмы работы и вцл и винапи. об этом можно почитать в книге а.григорьева "о чем не пишут в книгах по delphi". Ссылка есть в соответствуючей прикрепленной теме. Книга кстати классная, купил недавно, не нарадуюсь.
513
22 сентября 2008 года
Yurec
228 / / 21.09.2005
Цитата: 0nni
Да и кстати отображается во вкладке приложения не окно MainFrm а окно Application.

Вот если это поставить в onCreate
 
Код:
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);


А это например в Form1onClick
 
Код:
ShowWindow(handle, SW_HIDE);


То получится то что вам нужно. Хотя почти уверен что это гемор, потому как VCL "не любит" WinApi.



Отрабатывает действительно так как надо, но только если ShowWindow(handle, SW_HIDE); действительно испольщовать в онклике. Если вешать на ОнКреате окна, то не исчезает ни в какую... ( Как победить?

6
22 сентября 2008 года
George
4.1K / / 05.01.2007
тебе надо создать форму и тут же ее скрыть?
ShowWindow(Handle, SW_HIDE) надо поставить вместо MainFrm.Visible := false;
288
22 сентября 2008 года
nikitozz
1.2K / / 09.03.2007
Цитата: Yurec
Отрабатывает действительно так как надо, но только если ShowWindow(handle, SW_HIDE); действительно испольщовать в онклике. Если вешать на ОнКреате окна, то не исчезает ни в какую... ( Как победить?



Очевидно надо написать это в обработчике другого события. Скажем вот так в OnActivate

 
Код:
if FirstTime then
begin
    ShowWindow(handle, SW_HIDE);
    FirstTime := false;
end;
303
22 сентября 2008 года
makbeth
1.0K / / 25.11.2004
Цитата: Yurec
Отрабатывает действительно так как надо, но только если ShowWindow(handle, SW_HIDE); действительно испольщовать в онклике. Если вешать на ОнКреате окна, то не исчезает ни в какую... ( Как победить?


Дело в том, что как правило при срабатывания события OnCreate окно еще не видимо, так что вызов ShowWindow не имеет смысла. Поэтому действительно этот вызов необходимо помещать в другой обработчик, либо сразу после создания окна.

3.7K
22 сентября 2008 года
0nni
326 / / 24.06.2008
Цитата: Yurec
Отрабатывает действительно так как надо, но только если ShowWindow(handle, SW_HIDE); действительно испольщовать в онклике. Если вешать на ОнКреате окна, то не исчезает ни в какую... ( Как победить?



Нажимаешь Project -> View Source и пишешь

 
Код:
...
  Application.Initialize;
  Application.ShowMainForm := false;//<<<<<
  ....
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог