将键盘事件发送到不处理Windows事件的C#中的另一个应用程序

这里是我的情况:我们正在编写一个应用程序,必须将Microsoft Kinect坐标转换为键盘和鼠标事件.

当我们需要控制鼠标时,一切都按照我们在任何类型的应用程序进行工作.当我们需要向不处理Windows事件的应用程序(例如游戏)发送键盘事件(如键盘键盘)时出现问题.

我们尝试了.net框架的SendKeys类,它只适用于Windows应用程序.当应用程序是像Half-Life或Doom这样的游戏时,我们无法获得相同的效果.所以,这是我的问题:我们如何有效地将键盘事件发送到这些其他应用程序?

您需要使用 SendInput模拟输入.SendMessage和SendKeys倾向于在Windows消息级别工作 – 但是DirectX应用程序不会运行传统的消息循环.

一个页面PInvoke.NET,但我必须承认,我没有尝试使用它.

另请参阅GameDev.net网站上的this thread,其中有人使用了一些可能遇到的具体与基于DirectInput的应用程序交互的“出牙”问题.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...