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

前端之家收集整理的这篇文章主要介绍了将键盘事件发送到不处理Windows事件的C#中的另一个应用程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这里是我的情况:我们正在编写一个应用程序,必须将Microsoft Kinect坐标转换为键盘和鼠标事件.

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

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

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

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

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

原文链接:https://www.f2er.com/windows/370127.html

猜你在找的Windows相关文章