gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 08:27:39 26 4
gpt4 key购买 nike

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

当我们需要控制鼠标时,在任何类型的应用程序中,一切都按照我们的预期进行。当我们需要将键盘事件(如按下或向上键)发送到不处理 Windows 事件的应用程序(例如游戏)时,就会出现问题。

我们尝试了 .net 框架的 SendKeys 类,它只适用于 Windows 应用程序。当应用程序是像《半条命》或《毁灭战士》这样的游戏时,我们无法获得相同的效果。那么,这是我的问题:我们如何才能有效地将键盘事件发送到这些其他应用程序?

最佳答案

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

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


另见 this thread在 GameDev.net 网站上,有人在该网站上处理了一些在与基于 DirectInput 的应用程序交互时可能遇到的“初期”问题。

关于c# - 将键盘事件发送到 C# 中不处理 Windows 事件的另一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7136000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com