使用脚本/批处理文件在windows中自动单击鼠标
首先我想指出,这是一个相当奇怪的问题,而且我甚至不知道stackoverflow是否适合这个问题 不管怎样,有没有一种方法可以编写一个批处理文件或其他脚本,以便在脚本运行时,无论鼠标指针在何处,都可以自动执行鼠标单击?我的主要目标是:使用脚本/批处理文件在windows中自动单击鼠标,windows,batch-file,console-application,Windows,Batch File,Console Application,首先我想指出,这是一个相当奇怪的问题,而且我甚至不知道stackoverflow是否适合这个问题 不管怎样,有没有一种方法可以编写一个批处理文件或其他脚本,以便在脚本运行时,无论鼠标指针在何处,都可以自动执行鼠标单击?我的主要目标是: 运行脚本 检查时间是否在00:00am和05:00am之间 如果不是,则继续每15分钟运行一次检查 如果是,则检查当前机器上是否有internet连接 如果存在internet连接,则继续每15分钟运行一次脚本检查 如果没有internet连接,则无论鼠标指针当时
提前谢谢 我会用。IMHO,autoit更适合于运行脚本,其中systray图标可能比控制台窗口更可取。AutoIt可以、也可能是。以防某个可怜的灵魂有一天偶然发现这一点,使用上面@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
;启动脚本
Main()
Func Main()
; 无限循环
而0<1
如果CheckTime()==true,则
如果CheckInternetConnection()==true,则
; 互联网连接是真实的
; 所以不用担心
其他的
; 互联网连接是错误的
; 执行鼠标单击
鼠标点击(“左”)
恩迪夫
恩迪夫
; 睡15分钟
睡眠(60000*15)
温德
EndFunc
; 该函数检查当前时间是否在00:00和05:00之间
Func CheckTime()
如果@Hour>=00和@Hour 0,则
$Connected=true
恩迪夫
返回$Connected
EndFunc
现在,您只需将代码保存在一个扩展名为.au3的文件中,双击即可享受。能够完成一些基本的鼠标操作。
检查-自编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
PS-如果这是一个错误的论坛,不要吝啬。只要告诉我什么是合适的论坛,然后我们就可以关闭这个论坛,把它移过去。谢谢是的,这样的事情是可能的。不,我们不会为你写的。不过,您最好使用Windows PowerShell,因为批处理环境受到了愚蠢的限制。powershell可以访问系统中的几乎所有内容。@MarcB谢谢Marc,我没有要求你为我编写它,我自己非常有能力编写代码,谢谢。在正确的方向上进行简单的推送会很感激,比如提到powershell-我会去看看。我会使用autoit。IMHO,autoit更适合于运行脚本,其中systray图标可能比控制台窗口更可取。@rojo-这看起来很有希望,谢谢!