将密钥发送到活动窗口

时间:2010-11-01 22:26:08

标签: c# .net winforms sendkeys active-window

嘿。  我不知道这是否可能,但值得一试。假设有第三方赛车游戏不使用鼠标。有没有办法让我创建一个Windows窗体应用程序,它可以监听鼠标点击并将相应的密钥传输到游戏/活动窗口(例如,左键单击会发送'向上箭头'键以加速右键单击将通过发送减速来减速'向下箭头'键)。我查看了SendKeys方法,但是一旦游戏成为活动窗口,它就无法工作。有任何想法吗?感谢

2 个答案:

答案 0 :(得分:2)

如果游戏使用DirectInput来读取密钥,那么SendKeys就不会工作,因为DI在驱动程序级别工作,而SendKeys/SendInput在API级别工作,这对于游戏来说可能太高了。你可以Hook进入DirectInput,并发送命令,但它不会是一个单行,如果你是DirectX的新手,你就不会觉得它很有趣。

答案 1 :(得分:1)

我不知道它是否可行,如果可行,但直觉上,我会检查是否有某种类型的AutoIt库用于C#。

据我所知,AutoIt在向游戏发送按键事件方面没有任何问题。 互联网上存在几种将AutoIt集成到C#的方法,但到目前为止,我还没有尝试过其中一种方法。

你仍然可以试一试 http://www.lancelarsen.com/Blog/tabid/72/EntryId/48/AutoIt-C-Helper-Library.aspx