我正在尝试向应用发送虚拟按钮按钮。我尝试使用SendKeys.Send("{6}");
,但应用程序接收它就像字符串或类似的东西,因为它不起作用。我想发送密钥的应用程序是VisualBoy Advance。我的代码只允许我使用GUI远程播放,所以当我在GUI上按左键时,VBA应该接收击键。
代码的一部分:
case "derecha":
SendKeys.SendWait("{4}");
break;
答案 0 :(得分:0)
{
和}
字符是特殊转义字符。我认为6
不是转义值。查看已知逃脱的http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send(v=vs.110).aspx。例如,SendKeys.SendWait("{Right}");
会发送右箭头键。
然而,
许多游戏和模拟器将使用低级键盘挂钩来读取键盘状态。很难找到使用Windows事件模型进行键盘阅读的游戏。 SendKeys
仅发送到Windows邮件系统。您可能需要更低级别的发送事件的方式。
如果目标应用使用DirectInput,您可以使用SendInput
中的user32.dll
功能:
还有拦截库,但我自己从未使用过它: