18

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

无论如何,有没有办法编写一个批处理文件或其他一些脚本,可以在脚本运行时鼠标指针恰好位于的任何地方自动单击鼠标?我的主要目标是:

  1. 运行脚本
  2. 检查时间是否在上午 00:00 和上午 05:00 之间
  3. 如果不是,则继续每 15 分钟检查一次。
  4. 如果是,则检查当前机器上是否有互联网连接
  5. 如果有互联网连接,则继续每 15 分钟运行一次脚本检查。
  6. 如果没有互联网连接,则在鼠标指针恰好指向的地方自动单击鼠标左键。
  7. 继续运行,每 15 分钟执行一次与上述相同的检查

再说一次,我不知道这是否可能,只是想我会试试运气。提前致谢!

4

3 回答 3

21

以防万一有一天某个可怜的灵魂偶然发现了这一点,使用上面@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 文件扩展名的文件中,双击即可享受。

于 2013-03-19T07:48:20.617 回答
14

我会使用AutoIt。恕我直言,autoit 更适合运行系统托盘图标可能比控制台窗口更可取的脚本。AutoIt 可以检查时间ping 某些东西自动单击鼠标,以及可能您需要的其他任何东西

于 2013-03-18T18:21:51.327 回答
7

nircmd能够做一些基本的鼠标操作。检查mouse.bat - 自编译的 C# 类(默认情况下从 vista 及更高版本的所有内容中安装 c# 编译器)能够从命令行命令鼠标(也非常基本,但可以比 nircmd 做更多的事情)。mouse.bat -help您可以看到帮助和一些示例操作。

这是示例用法:

例子:

::clicks at the current position
call mouse click

::double clicks at the current position
call mouse doubleClick

::right clicks at the current position
call mouse rightClick

::returns the position of the cursor
call mouse position

::scrolls up the mouse wheel with 1500 units
call mouse scrollUp 150

::scrolls down with 100 postitions
call mouse scrollDown 100

::relatively(from the current position) moves the mouse with 100 horizontal and 100 vertial postitions
call mouse moveBy 100x100

::absolute positioning
call mouse moveTo 100x100

::relative drag (lefclick and move)
call mouse dragBy 300x200

::absolute drag
call mouse dragTo 500x500
于 2016-04-15T13:47:06.760 回答