C# 模拟键盘上的按下键?

C# 模拟键盘上的按下键?,c#,keyboard,emulation,C#,Keyboard,Emulation,我知道SendKeys可以模拟键入和发送单个击键,但我正在寻找一种模拟按住键的方法。我的目标是一个应用程序,作为一个窗口游戏的操纵台。想象一下,拿着一台平板电脑,在屏幕的两侧都有箭头键和基本按钮,然后按下它们模拟游戏接收到的键盘按键。这是我的目标 当手指按下按钮时,我想将其转换为按下键盘键。当释放那个按钮时,我想释放那个钥匙。我知道这可能需要一些低级代码,我同意 注意:我不想在我自己的应用程序中模拟这些事件,而是在系统范围内。我写这篇文章是为了我的一个XNA游戏,它不是在听直接的聚焦键事件,而是

我知道SendKeys可以模拟键入和发送单个击键,但我正在寻找一种模拟按住键的方法。我的目标是一个应用程序,作为一个窗口游戏的操纵台。想象一下,拿着一台平板电脑,在屏幕的两侧都有箭头键和基本按钮,然后按下它们模拟游戏接收到的键盘按键。这是我的目标

当手指按下按钮时,我想将其转换为按下键盘键。当释放那个按钮时,我想释放那个钥匙。我知道这可能需要一些低级代码,我同意


注意:我不想在我自己的应用程序中模拟这些事件,而是在系统范围内。我写这篇文章是为了我的一个XNA游戏,它不是在听直接的聚焦键事件,而是在检查键盘的状态(我想大多数游戏都是这样),并对此做出反应。我想让我的应用程序欺骗我的游戏,让我认为在适当的时间按下了一个键。

如果你想在系统范围内模拟它,你可以使用Core.dll中的
SendInput
。关于如何做到这一点,还有更详细的信息

然而,这是非常罕见的,你会真正需要它。相反,你应该试着只使用你自己的应用程序进行操作(在这种情况下,这似乎更像是你需要的)。您可以简单地为所有要读取的键创建变量,然后从键盘和平板电脑读取这些变量

编辑
哦,可能会更好…

如果您想在系统范围内模拟它,可以使用Core.dll中的
SendInput
。关于如何做到这一点,还有更详细的信息

然而,这是非常罕见的,你会真正需要它。相反,你应该试着只使用你自己的应用程序进行操作(在这种情况下,这似乎更像是你需要的)。您可以简单地为所有要读取的键创建变量,然后从键盘和平板电脑读取这些变量

编辑 哦,可能会更好