我想使用SendKeys.SendWait("keys")
发送一些击键到最小化或不可见的应用程序。
从实验上看,它只在我发送给它的应用程序具有焦点且可见的情况下才能工作。当应用程序不可见时,我尝试给予它焦点,但没有效果。我希望我错过了什么。有办法这样做吗?
背景:
我试图迫使第三方安装包,不支持静默安装尽可能安静和自动化。我联系了创建安装程序的人,他们没有启用静默安装,也不会发布新的安装。
安装程序是一个InstallAnywhere包,它可以扩展Java。因此,Spy++不会向我展示按钮的ID。我得到的唯一东西是主窗口的句柄,这使我相信我必须使用SendKeys.SendWait("keys")
发送密钥来实现我所需要的自动化。
我可以让它在安装过程中使用SendKeys.SendWait("%n")
(对于“Alt”,让它按下"Next“按钮),但是我想隐藏这个窗口。因为我不知道什么时候完成了某个特定的阶段,所以我会定期轮询它,然后按下适当的键。这是一个巨大的黑客,但我还没有找到更好的选择。问题是,我不想将每个按键的恢复最小化。一定有比这更好的方法对吧?
在Windows7上使用C# .NET 4.0。
发布于 2013-10-02 15:29:15
不幸的是,键盘输入会进入活动窗口,因此任何模拟键盘输入的操作都会以相同的方式进行。
如果他们添加了可访问性挂钩,那么您可以使用UI自动化框架。下面是来自雷蒙德的博客的一个快速示例。
https://stackoverflow.com/questions/19140392
复制相似问题