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

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

"Постоянный ShowWindow(HWND, SW_HIDE)" [D2005, XP]


kernel ©   (2007-07-21 21:43:00) 

Доброго времени суток, уважаемые форумчане. Второй день бьюсь над, вроде бы, простым вопросом: как можно скрыть кнопку моего приложения с панели задач до конца его выполнения (приложения) - при создании формы изнутри DLL (процедуру из которой вызывает мое приложение) нужно сделать так, чтобы пользователю в OnShow формы в DLL не приходилось писать ShowWindow(...), т.е у себя в приложении "полностью" "отключить" кнопку на панели задач? Пробовал в ShowWindow указывать handle моего application, как и ожидал, не помогло :( Заранее спасибо.


Двигатель внешнего сгорания   (2007-07-22 13:51:00) [1]


> kernel ©   (21.07.07 21:43) 


Проверяй в обработчике события OnIdle видимость окон в приложении и вызывай ShowWindow при необходимости.


Leonid Troyanovsky   (2007-07-22 13:15:00) [2]


> kernel ©   (22.07.07 11:26) [4]

> т.е. запретить в DLL`ке "отображать" ее (кнопу), т.к. dll
> буду писать не я, а там кнопку могут и не убрать. вот :)

А откуда уверенность, что это твое приложение, если длл чужая?

--
Regards, LVT.


DrPass   (2007-07-22 13:12:00) [3]


>  т.к. dll буду писать не я, а там кнопку могут и не убрать.
>  вот :)


Если ее будут писать не на Delphi, то такой проблемы возникнуть не должно. Если на Delphi, то пусть сперва почитают, как это делается. Если другой разработчик дятел, то ты это никак не исправишь


kernel   (2007-07-22 11:26:00) [4]

Мне нужно самому в приложении убрать кнопу с taskbar`а, т.е. запретитьв DLL`ке "отображать" ее (кнопу), т.к. dll буду писать не я, а там кнопку могут и не убрать. вот :)


Loginov Dmitry   (2007-07-22 09:46:00) [5]

При загрузке DLL передавай в нее Application.Handle. И переданное значение присваивай Application.Handle библиотеки. Например:

procedure InitDLL(AppHandle: THandle);
begin
 Application.Handle := AppHandle;
end;

Заодно проверь, поможет ли это! :)


kernel   (2007-07-22 07:51:00) [6]

Я уже это пробовал - у формы из DLL все так же появляется кнопка на taskbar`е :(


THandle   (2007-07-22 01:41:00) [7]

Если нужно скрыть прогу с самого запуска то в .dpr после Application.Initialize; напиши SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);


Наверх

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