![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]()
Всем привет. Сабж такой: котроче окно прячется/отображается по улику в трее. Использовать только IsVindowVisible для этой цели не удобно, т.к. окно может не быть скрытым, в понимании виндоус, но зато может перекрываться другими окнами и не отображаться. В такой ситуации надо дважды щёлкнуть в трее, что-бы отобразить окно. Один раз, что-бы его скрыть, а второй раз, что-бы отобразить.
Решил использовать WindowsEnum, но только пока я в лузерах. Не знаю что делать с хенделами, которые мне передаёт виндоус. Как мне поступить? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
...как насчет сравнить хэндл вашего окна, которым управляете из трея с getforegroundwindow ? если не совпадает и не скрыто, то выводим на передний план setforegroundwindow или setwindowpos c cоответствующим флагом, если не совпадает и скрыто, то showwindow, ну и так далее все варианты...
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 05.12.2007
Сообщений: 236
|
![]()
Создавай определенный класс окна и смотри что за класс. Или смотри какому процессу принадлежит окно. А если сам пишешь программу, тогда вообще непонятно зачем это все, выводи просто поверх всех окон.
|
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]() Цитата:
Цитата:
В общем не всё так просто как хотелось бы. ![]() ![]() Последний раз редактировалось Altera; 11.12.2009 в 19:17. |
||
![]() |
![]() |
![]() |
#5 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
От сердца отрываю
![]() Код:
Последний раз редактировалось BOBAH13; 11.12.2009 в 19:26. |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]()
Что за ForceForegroundWindow? Нету не в справке не в MSDN
|
![]() |
![]() |
![]() |
#7 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Ну емае... поставьте SetForegroundWindow
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]() |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]()
2BOBAH13. А зачем нужно что-бы
GetWindowLong(hwnd, GWL_HWNDPARENT) = 0? Я её закоментировал и стало лучше. Код:
з.ы. Progman что за класс? |
![]() |
![]() |
![]() |
#10 | ||
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]() Цитата:
Цитата:
![]() |
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Узнать открыто ли окно? | Vol666 | Общие вопросы Delphi | 1 | 07.10.2009 18:28 |
как узнать Pid процесса которому принадлежит окно | Пепел Феникса | Win Api | 3 | 13.04.2009 13:37 |
Как на JavaScript узнать, что пользователь закрыл окно? | Laziz | JavaScript, Ajax | 1 | 22.02.2009 21:16 |
проверьте моё решение | sverhuVniz | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 25.10.2008 09:26 |
как поставить иконку в моё приложение? | steck | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 16.05.2007 18:12 |