首先,目前我一直在使用Kinect提供的WPF Skeleton样例来开始我的项目。我也可以使用C++版本,但我的C++非常生疏,所以我不太愿意这么做。
到目前为止,我已经尝试了SendKeys、SendInput、keybd_event和Post_Message等方法,但都无法将它们传递给像Burnout Paradise这样的游戏。
我知道GlovePIE输入能够传递给游戏,但是如何实现呢?目前我的解决办法是通过在我的WPF应用程序中使用PPJoy,它有C++示例代码来模拟按钮按下事件。我通过[DLLImport]从WPF app调用此代码。然后我在GlovePIE中捕获游戏手柄按钮按下事件,并将其转换为键盘按键。这种方法可以正常工作,但是PPJoys驱动程序未经签名,所以我不能共享此代码,因为人们需要允许测试签名的驱动程序。
有没有人知道GlovePIE如何模拟按键事件?我已经在GlovePIE论坛上发帖,但没有回复。GlovePIE有一点“黑科技”可以与旧版的openNI kinect驱动程序配合使用,但我正在使用最近发布的标准微软版本。
:: SendMessage(hWND,WM_KEYDOWN,VK_RETURN,0); :: SendMessage(hWND,WM_CHAR,VK_RETURN,0); :: SendMessage(hWND,WM_CHAR,VK_RETURN,0); :: SendMessage(hWND,WM_KEYUP,VK_RETURN,0);
- Greg Domjan