web-dev-qa-db-ja.com

スクリプト/バッチファイルを使用してWindowsでのマウスクリックを自動化する

まず、これはかなり奇妙な質問であり、stackoverflowがこれに適しているかどうかさえ知らないことを指摘したいと思います...

とにかく、スクリプトの実行時にマウスポインターがある場所でマウスクリックを自動化するバッチファイルまたはその他のスクリプトを記述する方法はありますか?私の主な目標はこれです:

  1. スクリプトを実行する
  2. 時間が午前0時から午前5時の間かどうかを確認します
  3. そうでない場合は、15分ごとにチェックを続けます。
  4. 存在する場合、現在のマシンにインターネット接続があるかどうかを確認します
  5. インターネット接続がある場合は、15分ごとにスクリプトチェックの実行を続けます。
  6. インターネットに接続されていない場合は、マウスポインターがその時点で指している場所でマウスの左クリックを自動化します。
  7. 上記と同じチェックを15分ごとに実行し続けます

繰り返しますが、これが可能かどうかはわかりませんが、自分の運を試したいと思っただけです。前もって感謝します!

15
user818700

AutoIt を使用します。私見、autoitは、システムトレイアイコンがコンソールウィンドウよりも望ましいスクリプトの実行に適しています。 AutoItは 時間をチェックする何かをpingするマウスクリックを自動化する 、そしておそらく 必要なものは何でも が可能です。

12
rojo

上記の@rojoが提案したAutoItを使用して、ある日の貧しい魂がつまずいた場合に備えて-これは私が書いたスクリプトで、私が必要とするものを実現します。

; 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ファイル拡張子でファイルに保存し、ダブルクリックしてお楽しみください。

15
user818700

nircmd は、いくつかの基本的なマウス操作を実行できます。 Check mouse.bat -コマンドラインからマウスを操作できる自己コンパイルC#クラス(C#コンパイラはVista以降のすべてからデフォルトでインストールされます) nircmdより)。 mouse.bat -helpヘルプといくつかのアクションの例を見ることができます。

2
npocmaka