Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.005 c
15-1259839785
Тимоха123
2009-12-03 14:29
2010.02.07
перечисление форм проекта


4-1228894242
Хмм
2008-12-10 10:30
2010.02.07
Кликер


3-1234339703
July
2009-02-11 11:08
2010.02.07
можно ли сделать delay в ХП IB7.5?


3-1233828628
ganda
2009-02-05 13:10
2010.02.07
Поднять мусор из базы данных FireBird 1/5


15-1259705429
Германн
2009-12-02 01:10
2010.02.07
Или у меня глюки, или что-то изменилось.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский