Мне нужно автоматически обновлять рабочий стол каждые 10 минут.

Единственный полностью работающий способ, который я нашел, это использование этого кода VBS.

Sh.AppActivate "Program Manager"

Sh.SendKeys("{F5}")

Но при этом активное окно становится рабочим столом.

Мне нужно повторно активировать фокус на окне, которое я использую, до запуска скрипта.

2 ответа2

1

Я нашел хитрость, чтобы решить проблему:

в сценарии и добавьте командную строку:

Sh.SendKeys("%{ESC}")

Он повторно активирует фокус на окне, которое я использовал до запуска скрипта.

0

Мне нужно повторно активировать фокус на окне, которое я использую, до запуска скрипта.

  • Захватите текущее окно (заголовок или PID), используя оболочку COM.

Для получения инструкций по этому вопросу см. StackOverflow: Как найти заголовок окна Active(переднего плана) окна с помощью Window Script Host

  • Запишите это в переменную.
  • Активируйте рабочий стол.
  • Обновить.
  • Вернуть фокус в записанное окно, используя содержимое переменной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .