Как активировать определенное окно, когда определенное количество времени проходит без какой-либо активности только в этом конкретном окне?

0

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

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

Finacle - Microsoft Internet Explorer

ahk_class IEFrame

ahk_exe IEXPLORE.EXE

Ramji
источник
Открыта ли веб-страница в браузере с несколькими вкладками или она находится в отдельном окне? Последнее проще решить. И под словом «простоя» было бы правильно определить «простоя», сказав, что окно не активно? Другими словами, можете ли вы определить время простоя как время, когда окно находилось в фоновом режиме? то есть не был активным?
JJohnston2
Уважаемый @ JJohnston2 веб-страница открывается в собственном окне. У него нет окна с несколькими вкладками. Здесь бездействующий означает, что до тех пор, пока в этом окне не будет нажата клавиша типа f4 или f10, это окно останется бездействующим. другими словами, если в этом окне нажать f4 или f10, оно снова станет активным. Поэтому я хочу, чтобы он автоматически отправлял нажатие клавиш f4 или f10 в этом окне, когда через 10 минут переходят к предыдущим f4 или f10 в этом окне. Это возможно. Пожалуйста помоги. Благодарю.
Рамзи

Ответы:

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)
JJohnston2
источник
Спасибо, дорогой @ JJohnston2, большое спасибо за твою любезную помощь ..
ramji