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

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

Детектор полноэкранных окон


Страницы:   1 2

demon ©   (2008-08-17 18:55:00) 

Как отследить что какое-небудь чужое приложени перешло в полноэкранный режим?
Узнавать какое именно приложение не нужно.


demon   (2008-08-19 02:14:00) [21]

Человеки, ведь некоторые плееры выдают такое окошко, например Aimp, или специальные плагины к винампу. Оно еще полупрозрачное в большинстве случаев.

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


Германн   (2008-08-19 01:34:00) [22]

Блин, очепятка. не было.


Германн   (2008-08-19 01:21:00) [23]


> demon ©   (19.08.08 01:05) [14]
>
> Ушли от сути. Ваши мысли, как лучше определить что на экране
> полноэкранное окно?
> Простой способ проверять по таймеру рабоую зону и сравнивать
> её с размкрами десктопа, или делать лавушку (правда, нипонятно
> как это дез длл сделать)?
>

А тут и сути нибыло ни разу.. Только "демонически безсвязное" описание "бреда сивой кобылы", плюс
> Renegat ©   (19.08.08 01:12) [15]


Renegat   (2008-08-19 01:12:00) [24]

ИМХО, в данном случае (в случае плеера) вывод окна сообщения является довольно индусским подходом к уведомлению юзера о чём-либо.
Лучше уж не искать по форумам, как построить антигравитатор для крыши дома, который Вы решили строить с крыши, а просто пересмотреть логику работы GUI Вашей проги =)


demon   (2008-08-19 01:05:00) [25]

Ушли от сути. Ваши мысли, как лучше определить что на экране полноэкранное окно?
Простой способ проверять по таймеру рабоую зону и сравнивать её с размкрами десктопа, или делать лавушку (правда, нипонятно как это дез длл сделать)?


DVM   (2008-08-18 17:23:00) [26]


> А эмуляция текстового DOS режима (Norton Commander) - полноэкранка?
>
> А эмуляция DOS игр (DOOM-2) - полноэкранка?
> А включение ScreenSaver - полноэкранка?

Да, да и да.


oldman   (2008-08-18 17:18:00) [27]

А эмуляция текстового DOS режима (Norton Commander) - полноэкранка?
А эмуляция DOS игр (DOOM-2) - полноэкранка?
А включение ScreenSaver - полноэкранка?
etc.


> Как отследить что какое-небудь чужое приложени перешло в
> полноэкранный режим?
> Узнавать какое именно приложение не нужно.


визуально, блин...


DVM   (2008-08-18 17:16:00) [28]


> demon ©   (18.08.08 00:51) [5]
>
> Miranda IM (точнее плагин popup.dll) умеет детектировать
> полноэкранные окна не внедряя библиотеки...

Кстати, ты на основании чего такой вывод сделал? Дело в том, что ловушку аналогичную WH_SHELL можно задействовать и без своей dll.


DVM   (2008-08-18 17:12:00) [29]


> а мышкой растащил за бордер - это полноэкранный режим?

нет, бордюра не должно быть вообще, а размеры окна должны быть больше или равны десктопу.


oldman   (2008-08-18 17:01:00) [30]

А если я не даблкликнул по заголовку, а мышкой растащил за бордер - это полноэкранный режим?

Я понимаю, что при полноэкранном сам бордер пропадает, но "растащенное мышью" окно все равно во весь экран...


Smile   (2008-08-18 11:11:00) [31]

> Я всю сознательную жизнь считал, что полноэкранный режим
> - это то, что происходит с консольным окном по Alt+Enter


Alt+Enter работает в обе стороны, а не только в сторону полноэкранного режима


Игорь Шевченко   (2008-08-18 10:17:00) [32]

Я всю сознательную жизнь считал, что полноэкранный режим - это то, что происходит с консольным окном по Alt+Enter


Германн   (2008-08-18 01:30:00) [33]

Хм.
> Miranda IM (точнее плагин popup.dll) умеет детектировать
> полноэкранные окна не внедряя библиотеки...
>


demon   (2008-08-18 00:51:00) [34]

Miranda IM (точнее плагин popup.dll) умеет детектировать полноэкранные окна не внедряя библиотеки...

Может поставить таймер и сравнивать рабочую зону с размерами экрана через определенный промежуток времени?


DVM   (2008-08-17 20:01:00) [35]


> Не ужели эти события разные, и отлавливать их нужно по разному?

все эти события приводят к появлению на экране окна размерами с десктоп, без бордюра и возможно TOPMOST. Все прекрасно отлавливается и детектируется самой системой, надо лишь вклиниться в этот процесс с помощью ловушки WH_SHELL, как это делают все нормальные приложения в частности Windows Explorer.


demon   (2008-08-17 19:49:00) [36]

Так... Попытаюсь обяснить на конкретных примерах:
- Когда запускаеться видеоплеер (любой) и пользователь переводит его в полноэкранный режим.
- Когда запускаеться Haда Life2.
- ACDSee в режиме просмотра, если нажать F (тоже полноэкранный режим)
Не ужели эти события разные, и отлавливать их нужно по разному?


DVM   (2008-08-17 19:43:00) [37]


> Как отследить что какое-небудь чужое приложени перешло в
> полноэкранный режим?

поставить ловшку WH_SHELL, HSHELL_WINDOWSACTIVATED + lParam = fFullScreen


Anatoly Podgoretsky   (2008-08-17 19:30:00) [38]

> demon  (17.08.2008 18:55:00)  [0]

Приложение не может перейти в полноэкранный режим - это только окна могут, но и само понятие полноэкранный режим не такое уж однозначное.


Страницы:   1 2

Наверх

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