Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.07;
Скачать: CL | DM;

Вниз

Как определить что активное приложение - игровое?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.01 c
2-1260371106
Timur&Co
2009-12-09 18:05
2010.02.07
Прозрачность TListView


15-1259706951
GDI+
2009-12-02 01:35
2010.02.07
Человек и Вселенная?


2-1260668640
andrewtitoff
2009-12-13 04:44
2010.02.07
БД


1-1236756836
EgorovAlex
2009-03-11 10:33
2010.02.07
Странное поведение Delphi 2009


2-1260419453
novai
2009-12-10 07:30
2010.02.07
Парсер строки