【发布时间】:2011-11-14 04:47:53
【问题描述】:
我有一个本地开发的应用程序(Master),它定义了一堆热键。我需要使用另一个外部应用程序(控制)使应用程序自动化。我无法重建 Master 应用程序,它运行,已经安装并且不能被弄乱。
如果我使用键盘,在 Master 上使用热键就像是一种魅力。
所以,我想我可以使用 SendKeys.SendWait 或 SendKeys.Send 来发送命令。虽然我的代码适用于其他应用程序(例如记事本),但它不适用于我的自定义应用程序 Master。这可能有多种原因 - Master 年龄较大,混合了 .NET、C++...一些低级别的视频控件...谁知道幕后情况。
我需要获得更高级别的东西。我需要能够发送击键,就好像它们来自键盘本身一样。我不希望计算机能够区分发送按键的物理键盘和发送按键的应用。
我可以使用什么?会有什么不同?
【问题讨论】:
-
我不知道这是否能解决你的问题,但我从来没有失败过:AutoIt
-
@Marco。谢谢你的建议。明天我们实际上将尝试使用 AutoHotKey,尽管我真的希望我能找出问题所在。
-
您使用的是 Vista 吗? “SendKeys 类已针对 .NET Framework 3.0 进行了更新,以使其能够在 Windows Vista 上运行的应用程序中使用。Windows Vista 增强的安全性(称为用户帐户控制或 UAC)阻止了以前的实现按预期工作。“
-
它是 WinXP,我们使用的是 .NET 3.5。同样,我们可以控制机器上的其他应用程序,但不能控制这个。
标签: c# keyboard sendkeys sendinput