Друзья, я хочу, чтобы, когда конкретное окно простаивало в течение 10 минут, оно должно сначала активировать это окно, а затем отправить клавишу f4. Я работаю над некоторым онлайн-программным обеспечением, и оно выходит из системы, когда это программное обеспечение не используется или неактивно в течение 10 минут, и повторный вход в систему - это очень громоздкая и напряженная работа, поэтому я хочу, чтобы после 10 минут бездействия (только в этом окне) окно должно быть активировано и ключ f4 должен быть отправлен автоматически.

Это название окна, как показано в окне шпиона это

Finacle - Microsoft Internet Explorer

ahk_class IEFrame

ahk_exe IEXPLORE.EXE

1 ответ1

0

Вы можете попробовать что-то вроде этого ... Я не могу это проверить. Есть много вещей, которые могут привести к тому, что он, возможно, не будет работать, поэтому вам, возможно, придется немного поэкспериментировать.

Сначала запустите скрипт (он останется запущенным), затем активируйте окно IE, используя F4 или F10, после чего вы должны увидеть всплывающую подсказку, которая должна активироваться каждые 10 минут с момента последней активации вручную.

#NoEnv
#Persistent

winFinacle := "Finacle - Microsoft Internet Explorer ahk_exe IEXPLORE.EXE"

return


#IfWinActive, %winFinacle%
~F4::           ; tilde allows pass-through of the keystroke to the program
~F10::
KeepFinacleActive:

    ToolTip Activating Finacle...
    sleep 1000
    tooltip

    ; Enable timer to call itself after desired time once user kicks things off with initial key press
    SetTimer, KeepFinacleActive, 600000      ; 10min * 60sec/min * 1000ms/sec = 600000

    BlockInput, On                  ; block user input in case this happens in the middle of other user activity
    WinActivate, %winFinacle%
    WinWaitActive,,,2               ; wait a max of 2 seconds for it to be active
    if not ErrorLevel               ; if there was no error...
    {
        sleep 200                   ; give IE some nominal time to load (adjust as needed)
        SendInput {F10}             ; send a keystroke (this will be a duplicate keystroke first time user executes manually)
    }
    else  ; else if we couldn't find the window...
    {
        tooltip Couldn't find window during attempted activation...
        sleep 2000
        tooltip
    }
    BlockInput, Off

return

#IfWinActive    ; disable for following commands (if any)

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