Форум: "Прочее";
Текущий архив: 2010.02.07;
Скачать: [xml.tar.bz2];
ВнизКак определить что активное приложение - игровое? Найти похожие ветки
← →
korabok (2009-11-30 21:52) [0]Цель: узнать по хенделу окна "игровое" оно или нет.
Как определить активное приложения мне понятно.
Первое что пришло на ум:
1) Определить размеры окна и сравнить их с размером экрана
2) Определить стиль окна, а именно наличие рамки и заголовка
3) Определить подключены ли библиотеки OGL/DX к приложению
Но, как определить имеет ли окно рамку и заголовок или нет?
3 пункт я вообще не представляю как сделать.
Может есть у кого еще какие-нибудь идеи?!
← →
0x00FF00 (2009-11-30 23:12) [1]> 1) Определить размеры окна и сравнить их с размером экрана
> 2) Определить стиль окна, а именно наличие рамки и заголовка
А если я игру в оконном режиме запустил?
ИМХО, самый надёжный метод из предлорженных — это (3).
Для OpenGL могу посоветовать GetPixelFormat по DC окна, полученному с помощью GetDC(ХЕНДЛ_ОКНА).
Проанализировав его на наличие PFD_SUPPORT_OPENGL и PFD_DOUBLEBUFFER, можно с большой вероятностью утверждать, что данное окно используется для OpenGL-вывода.
http://msdn.microsoft.com/en-us/library/dd368826(VS.85).aspx
← →
korabok (2009-11-30 23:21) [2]А в случае работы DirectX флаг PFD_DOUBLEBUFFER будет присутствовать?
← →
0x00FF00 (2009-11-30 23:27) [3]Не располагаю такими сведениями, т.к. не работал с DirectX.
← →
DVM © (2009-12-01 00:37) [4]
> korabok (30.11.09 21:52)
> Цель: узнать по хенделу окна "игровое" оно или нет.
Единственно верный способ - вести постоянно пополняемую базу "игровых" окон и сравнивать с ней. Все остальное - ненадежно.
← →
DVM © (2009-12-01 00:38) [5]Сапер не пользуется ни DirectX ни OpenGL тем не менее это игра. Как и пасьянс. Как и тьма игр, не использующих аппаратное ускорение.
← →
DVM © (2009-12-01 00:40) [6]
> korabok
а зачем это понадобилось, если не секрет?
← →
Игорь Шевченко © (2009-12-01 00:54) [7]
> Как и пасьянс.
И шарики
← →
korabok (2009-12-01 02:31) [8]Меня интересуют только OpenGL/DirectX игры.
2DVM
Работа с интерфейсом окон.
← →
Kerk © (2009-12-01 02:32) [9]OpenGL/DirectX используют не только игры.
← →
brother © (2009-12-01 06:54) [10]> Цель: узнать по хенделу окна "игровое" оно или нет.
нет понятия - игровое окно, + есть игры не использующие DX итп... а самое правильное: [4]
← →
TUser © (2009-12-01 09:10) [11]А если я в ворд играю?
← →
Инна (2009-12-01 17:56) [12]перевожу
чел имел в виду полноэкранные приложения использующие OpenGL/DirectX ,зачем обезьяничать ? не знаеш не пиши...
← →
ANB (2009-12-01 18:01) [13]
> И шарики
Шарики - это не игра. Это вдумчивая и тяжелая работа.
← →
RWolf © (2009-12-01 18:01) [14]
> полноэкранные приложения использующие OpenGL/DirectX
то есть, если не на полный экран — уже не игра?
а если считать игрой, как быть с полезными программами, отрисовывающими что-то через DirectShow? тоже прибивать?
← →
DVM © (2009-12-01 18:12) [15]В Vista/Windows7 при включенном Aero имхо одни игры будут получаться.
← →
korabok (2009-12-01 18:14) [16]Так, короче меня интересуют окна внутренняя область которых не занята никакими контролами, где вывод производиться методами OGL/DX.
Т.е. вся задача сводиться к определению является ли основная форма выводом OGL или DX.
← →
DVM © (2009-12-01 18:18) [17]
> Так, короче меня интересуют окна внутренняя область которых
> не занята никакими контролами, где вывод производиться методами
> OGL/DX.
>
> Т.е. вся задача сводиться к определению является ли основная
> форма выводом OGL или DX.
Под такое определение попадают, например, скринсейверы.
← →
0x00FF00 (2009-12-01 18:36) [18]И, кстати, до сих пор не ясны цели данных манипуляций.
Что есть "работа с интерфейсом окон"?
Какие действия над окнами требуется выполнять?
← →
antonn © (2009-12-01 19:47) [19]reddot какой нить пишет...
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.02.07;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c