首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最小化应用程序的Win32 SendKeys.SendWait(“键”)

最小化应用程序的Win32 SendKeys.SendWait(“键”)
EN

Stack Overflow用户
提问于 2013-10-02 15:14:18
回答 1查看 1.7K关注 0票数 1

我想使用SendKeys.SendWait("keys")发送一些击键到最小化或不可见的应用程序。

从实验上看,它只在我发送给它的应用程序具有焦点且可见的情况下才能工作。当应用程序不可见时,我尝试给予它焦点,但没有效果。我希望我错过了什么。有办法这样做吗?

背景:

我试图迫使第三方安装包,不支持静默安装尽可能安静和自动化。我联系了创建安装程序的人,他们没有启用静默安装,也不会发布新的安装。

安装程序是一个InstallAnywhere包,它可以扩展Java。因此,Spy++不会向我展示按钮的ID。我得到的唯一东西是主窗口的句柄,这使我相信我必须使用SendKeys.SendWait("keys")发送密钥来实现我所需要的自动化。

我可以让它在安装过程中使用SendKeys.SendWait("%n") (对于“Alt”,让它按下"Next“按钮),但是我想隐藏这个窗口。因为我不知道什么时候完成了某个特定的阶段,所以我会定期轮询它,然后按下适当的键。这是一个巨大的黑客,但我还没有找到更好的选择。问题是,我不想将每个按键的恢复最小化。一定有比这更好的方法对吧?

在Windows7上使用C# .NET 4.0。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-02 15:29:15

不幸的是,键盘输入会进入活动窗口,因此任何模拟键盘输入的操作都会以相同的方式进行。

如果他们添加了可访问性挂钩,那么您可以使用UI自动化框架。下面是来自雷蒙德的博客的一个快速示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19140392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档