Держите приложение в фокусе - PullRequest
1 голос
/ 03 октября 2011

Я использую 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-секундного периода.

Спасибо,

Барри.

1 Ответ

0 голосов
/ 16 апреля 2019

Проблема

  • как гарантировать, что сценарий wsh SendKeys событие переходит к специально предназначенному приложению

Обходной путь

  • вместопростого решения для нацеливания на конкретный процесс с помощью SendKeys вы можете использовать вариант ожидания ShellRun

Пример

  • Заменить «До» на «После»

До

WshShell.Run(run_name)

После

WshShell.Run(run_name,1,true)

...