让应用程序成为焦点

发布于 2024-12-07 22:21:56 字数 340 浏览 1 评论 0原文

我使用 wscript 在我的计算机上启动应用程序。然后我使用这个应用程序 30 秒,然后将其杀死。我使用 python 执行此操作 -

import win32com.client
import time
shell = win32com.client.Dispatch("WScript.Shell")
shell.Run("My App")
time.sleep(0.5)
shell.SendKeys('%f')
...

我想知道是否可以确保启动的应用程序接收 SendKeys 指令,而不是我可能在这 30 秒期间意外关注的另一个应用程序。

谢谢,

巴里。

I use wscript to launch an application on my machine. I then use this app for 30 seconds before I kill it. I do this using python -

import win32com.client
import time
shell = win32com.client.Dispatch("WScript.Shell")
shell.Run("My App")
time.sleep(0.5)
shell.SendKeys('%f')
...

I was wondering if it is possible to ensure that the launched app receives the SendKeys instructions and not another app that I might accidentally give focus to under this 30 second period.

Thanks,

Barry.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

燕归巢 2024-12-14 22:21:56

的问题

  • 如何保证 wsh 脚本 SendKeys 事件发送到特定目标应用程序

解决

  • 方法是使用 SendKeys 定位特定进程的简单解决方案,您可以使用“等待” ShellRun

示例

  • 的变体将“Before”更改为“After”

WshShell.Run(run_name)

之后

之前WshShell.Run(run_name,1,true)

Problem

  • how to guarantee a wsh script SendKeys event goes to a specifically targted application

Workaround

  • in lieu of a straightforward solution to targeting a specific process with SendKeys you can use the "wait" variant of ShellRun

Example

  • Change "Before" into "After"

Before

WshShell.Run(run_name)

After

WshShell.Run(run_name,1,true)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文