我正在尝试使用 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()
,以及使用分配 HandleMessageDevice.HandleMessage(IntPtr message)
我发现 RegisterDevice() 的正确重载是:
RegisterDevice(UsagePage usagePage, UsageId usageId, DeviceFlags flags, IntPtr target, bool addThreadFilter)
但是,我无法解决的是:
1)既然我必须使用一个目标,我打算将什么设置为目标?
2) 我从哪里得到这个 IntPtr 消息?