Конференция "Прочее" » Как определить что активное приложение - игровое? [D7, WinXP]
 
  • korabok (30.11.09 21:52) [0]
    Цель: узнать по хенделу окна "игровое" оно или нет.
    Как определить активное приложения мне понятно.

    Первое что пришло на ум:
    1) Определить размеры окна и сравнить их с размером экрана
    2) Определить стиль окна, а именно наличие рамки и заголовка
    3) Определить подключены ли библиотеки OGL/DX к приложению

    Но, как определить имеет ли окно рамку и заголовок или нет?
    3 пункт я вообще не представляю как сделать.

    Может есть у кого еще какие-нибудь идеи?!
  • 0x00FF00 (30.11.09 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 (30.11.09 23:21) [2]
    А в случае работы DirectX флаг PFD_DOUBLEBUFFER будет присутствовать?
  • 0x00FF00 (30.11.09 23:27) [3]
    Не располагаю такими сведениями, т.к. не работал с DirectX.
  • DVM © (01.12.09 00:37) [4]

    > korabok   (30.11.09 21:52) 
    > Цель: узнать по хенделу окна "игровое" оно или нет.

    Единственно верный способ - вести постоянно пополняемую базу "игровых" окон и сравнивать с ней. Все остальное - ненадежно.
  • DVM © (01.12.09 00:38) [5]
    Сапер не пользуется ни DirectX ни OpenGL тем не менее это игра. Как и пасьянс. Как и тьма игр, не использующих аппаратное ускорение.
  • DVM © (01.12.09 00:40) [6]

    > korabok

    а зачем это понадобилось, если не секрет?
  • Игорь Шевченко © (01.12.09 00:54) [7]

    >  Как и пасьянс.


    И шарики
  • korabok (01.12.09 02:31) [8]
    Меня интересуют только OpenGL/DirectX игры.
    2DVM
    Работа с интерфейсом окон.
  • Kerk © (01.12.09 02:32) [9]
    OpenGL/DirectX используют не только игры.
 
Конференция "Прочее" » Как определить что активное приложение - игровое? [D7, WinXP]
Есть новые Нет новых   [134432   +19][b:0][p:0]