使用脚本/批处理文件在Windows中自动鼠标单击

时间:2013-03-18 17:45:59

标签: windows batch-file console-application

首先,我想指出这是一个相当奇怪的问题,而且我甚至不知道stackoverflow是否适合这个......

无论如何,有没有办法编写批处理文件或其他一些脚本,当脚本运行时鼠标指针恰好在哪里自动鼠标点击?我的主要目标是:

  1. 运行脚本
  2. 检查时间是否在00:00 am到05:00 am
  3. 之间
  4. 如果没有,则每15分钟继续运行检查。
  5. 如果是,则检查当前机器上是否有互联网连接
  6. 如果有互联网连接,则每隔15分钟继续运行脚本检查。
  7. 如果没有互联网连接,那么只要鼠标指针恰好指向当时的位置,就会自动鼠标左键单击。
  8. 继续运行每15分钟进行与上述相同的检查
  9. 我甚至不知道即使这是可能的,只是以为我会试试运气。 提前谢谢!

3 个答案:

答案 0 :(得分:14)

以防万一有些可怜的灵魂在这一天绊倒,使用@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的文件中,双击即可享受。

答案 1 :(得分:11)

我会使用AutoIt。恕我直言,autoit更适合运行脚本,其中系统托盘图标可能比控制台窗口更可取。 AutoIt可以check the timeping somethingautomate a mouse click,也可能是whatever else you need

答案 2 :(得分:2)

nircmd能够做一些基本的鼠标。 检查mouse.bat - 自编译的C#类(默认安装c#编译器,来自vista及以上版本)能够从命令行命令鼠标(也非常基本,但可以比nircmd多一点)。使用mouse.bat -help,您可以看到帮助和一些示例操作。