Я пытаюсь настроить управление клавиатурой и мышью для космической игры, используя SlimDX и RawInput. Мой текущий код выглядит следующим образом:
Device.RegisterDevice(UsagePage.Generic, UsageId.Keyboard, DeviceFlags.None);
Device.KeyboardInput += new EventHandler<KeyboardInputEventArgs>(keyboardInput);
Device.RegisterDevice(UsagePage.Generic, UsageId.Mouse, DeviceFlags.None);
Device.MouseInput += new EventHandler<MouseInputEventArgs>(mouseInput);
Однако я прочитал здесь: http://code.google.com/p/slimdx/issues/detail?id=785, что для WPF мне нужно использовать другую перегрузку для Device.RegisterDevice()
, а также назначить HandleMessage с помощью Device.HandleMessage(IntPtr message)
Я нашел правильную перегрузку для RegisterDevice(), а именно:
RegisterDevice(UsagePage usagePage, UsageId usageId, DeviceFlags flags, IntPtr target, bool addThreadFilter)
Чего я не могу понять, так это:
1) Теперь, когда мне нужно использовать цель, что я должен установить в качестве цели?
2) Откуда я могу получить это сообщение IntPtr?