Я пытаюсь выяснить, доступен ли SetCooperativeLevel в DX11. Если он больше не поддерживается, какой новый API получит эксклюзивный вход с устройства ввода? Благодарю.Эквивалент SetCooperativeLevel в DX 11
ответ
Последней версией DirectInput был DirectInput8. С тех пор он не был значительно изменен. Использование DirectInput для работы с клавиатурой и мышью не рекомендуется, используйте вместо этого сообщения Win32. Для устаревших геймпадов и джойстиков вы можете продолжать использовать DirectInput для настольных приложений Win32, но он недоступен для Windows Store, телефона Windows или приложений Xbox One.
Для общих контроллеров Xbox 360 в Windows вы должны использовать XINPUT. См. GamePad в наборе инструментов DirectX для приятного помощника для его использования для игровых приставок.
PS: Для некоторых деталей о XInput 1.4 в Windows 8.0 и более поздних версиях по сравнению с XInput 1.3 в Windows 7 и все, см. Сообщение this.
Чтобы обработать «фокус ввода», вы должны отслеживать сообщение Win32 WM_ACTIVATEAPP
. Если wParam имеет значение ИСТИНА, вы находитесь на переднем плане. Если wParam FALSE, вы теряете фокус.