Автоматический щелчок мышью в окнах с script/пакетным файлом

Во-первых, я хотел бы указать, что это довольно странный вопрос, а также что я даже не знаю, подходит ли для stackoverflow для этого...

В любом случае, есть ли способ написать пакетный файл или какой-нибудь другой script, который будет автоматизировать щелчок мыши, где бы указатель мыши не был во время запуска script? Моя главная цель:

  • Запустить script
  • Проверьте, находится ли время между 00:00 и 05:00.
  • Если это не так, продолжайте выполнение проверки каждые 15 минут.
  • Если это так, проверьте, есть ли подключение к Интернету на текущем компьютере.
  • Если есть интернет-соединение, продолжайте работу script, проверяя каждые 15 минут.
  • Если нет подключения к Интернету, тогда автоматизируйте щелчок левой кнопкой мыши, куда бы указатель мыши указывал на это время.
  • Продолжайте выполнять те же проверки, что и выше, каждые 15 минут

Снова я не знаю, даже если это возможно, просто подумал, что я попробую удачу. Спасибо заранее!

Ответ 2

На всякий случай какая-то бедная душа натыкается на этот день, используя AutoIt, который предложил @rojo выше. Это script, который я написал, который выполняет то, что мне нужно:

; Initiate Script
Main()

Func Main()
    ; Infinite loop
    While 0 < 1
        If CheckTime() == true Then
            If CheckInternetConnection() == true Then
                ; Internet Connection is true
                ; So no worries
            Else
                ; Internet Connection is false
                ; Perform mouse click
                MouseClick("left")
            EndIf       
        EndIf
        ; Sleep for 15 minutes
        Sleep(60000 * 15)
    WEnd
EndFunc

; The function checks if the current time is between 00:00 and 05:00
Func CheckTime()
    If @Hour >= 00 AND @Hour <= 05 Then
        Return true
    Else
        Return false
    EndIf
EndFunc

; The function checks if currently is a internet connection
Func CheckInternetConnection()
    Local $Connected = false
    $ping = Ping("www.google.com")
    If $ping > 0 Then
        $Connected = true
    EndIf
    Return $Connected
EndFunc

И вот вам, просто сохраните код в файле с расширением .au3, дважды щелкните и наслаждайтесь.

Ответ 3

nircmd способен делать некоторые основные вещи мыши. Проверьте mouse.bat - самокомпилированный класс С# (С# компилятор устанавливается по умолчанию из всего, начиная с версии и выше), способного командовать мышью от командной строки (также довольно простой, но может сделать немного больше, чем nircmd). с помощью mouse.bat -help вы можете увидеть справку и некоторые примеры действий.