перехва нажатия кнопки джойстика.
От: Passer  
Дата: 19.05.09 05:15
Оценка:
Здравствуйте.

писал программу которая работает с джойстиком через directx
но оказалось что она работает только когда окно программы ативна. как сделать чтобы программа узнавала об изменениях статуса джойстика даже если активно другое окно
Re: перехва нажатия кнопки джойстика.
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 19.05.09 06:03
Оценка: 2 (1)
Здравствуйте, Passer, Вы писали:

P>писал программу которая работает с джойстиком через directx

P>но оказалось что она работает только когда окно программы ативна. как сделать чтобы программа узнавала об изменениях статуса джойстика даже если активно другое окно

Там, кажется, через SetCooperativeLevel выставляются правила перехвата: DISCL_FOREGROUND или DISCL_BACKGROUND, DISCL_EXCLUSIVE или DISCL_NONEXCLUSIVE.
Re[2]: перехва нажатия кнопки джойстика.
От: Passer  
Дата: 19.05.09 06:44
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Здравствуйте, Passer, Вы писали:


P>>писал программу которая работает с джойстиком через directx

P>>но оказалось что она работает только когда окно программы ативна. как сделать чтобы программа узнавала об изменениях статуса джойстика даже если активно другое окно

N>Там, кажется, через SetCooperativeLevel выставляются правила перехвата: DISCL_FOREGROUND или DISCL_BACKGROUND, DISCL_EXCLUSIVE или DISCL_NONEXCLUSIVE.


похоже это то что нужно. приду домой проверю спосибо.
Re[3]: перехва нажатия кнопки джойстика.
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 20.05.09 03:15
Оценка:
Здравствуйте, Passer, Вы писали:

P>похоже это то что нужно. приду домой проверю спосибо.


Не забывайте одну тонкость — нельзя одновременно использовать DISCL_BACKGROUND и DISCL_EXCLUSIVE — получите отлуп. Вам надо DISCL_BACKGROUND | DISCL_NONEXCLUSIVE, но имейте в виду, что устройство у вас может быть "отобрано" другой прогой, юзающей DISCL_FOREGROUND | DISCL_EXCLUSIVE, так что эту ситуацию нужно обрабатывать корректно...
[КУ] оккупировала армия.
Re[4]: перехва нажатия кнопки джойстика.
От: Passer  
Дата: 20.05.09 12:59
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Здравствуйте, Passer, Вы писали:


P>>похоже это то что нужно. приду домой проверю спосибо.


K>Не забывайте одну тонкость — нельзя одновременно использовать DISCL_BACKGROUND и DISCL_EXCLUSIVE — получите отлуп. Вам надо DISCL_BACKGROUND | DISCL_NONEXCLUSIVE, но имейте в виду, что устройство у вас может быть "отобрано" другой прогой, юзающей DISCL_FOREGROUND | DISCL_EXCLUSIVE, так что эту ситуацию нужно обрабатывать корректно...


как отобрать. т.е. если найдется прграмму кторая юзает DISCL_FOREGROUND | DISCL_EXCLUSIVE я перестану получать информацию о джойстике??
это плохо. можно ли что нибудь с этим поделать???
Re[5]: перехва нажатия кнопки джойстика.
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 20.05.09 23:54
Оценка:
Здравствуйте, Passer, Вы писали:

P>как отобрать. т.е. если найдется прграмму кторая юзает DISCL_FOREGROUND | DISCL_EXCLUSIVE я перестану получать информацию о джойстике??

P>это плохо. можно ли что нибудь с этим поделать???

Поделать ничего нельзя — так уж DI устроен...
[КУ] оккупировала армия.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.