您的位置:首页 > 其它

AutoHotKey和Bat脚本:开机延时启动多个程序

2016-12-06 09:29 351 查看

一、开机启动

由于开机进入桌面之后,需要在自动开一些软件,比如桌面微信、企业微信、番茄钟、GTD,TC等一些日常使用,又必须长期存在的软件。如果直接把这些软件设置为开机启动,则会造成开机进入桌面的时候非常卡。这个时候,就想要一个可以像队列一样来启动一个个自己想要启动的程序,比如设个5秒启动一个应用程序,这样就可以避免一瞬间比较卡了。同时也可以根据自己的实际情况来定时或者延时启动自己的程序。

二、Bat脚本延时启动多个程序

Bat比较简单,延时是采用ping的指令,然后用start来调用程序,ping的数字5表示延时5秒

ping 127.0.0.1 -n 5 >nul
start "" "D:\GreenSoftwares\totalcmd\TOTALCMD64.EXE"
ping 127.0.0.1 -n 5 >nul
start "" "C:\Program Files (x86)\Tencent\WeChat\WeChat.exe"
ping 127.0.0.1 -n 5 >nul
start "" "D:\Program Files (x86)\WXWork\WXWork.exe"
exit


二、AutoHotKey脚本延时启动多个程序

AutoHotKey会稍微复杂的,但是是值得的,可以实现一些比较复杂的功能,推荐使用AutoHotKey,不仅仅在自动启动方面有作用,在其他方面也能提高我们的办公效率。

AutoHotKey的简单资料:www.ahkscript.org/

是一款免费的、Windows平台下开放源代码的热键脚本语言,是为游戏操纵杆和鼠标创建的热键,是自动按键。也可以通过命令调用系统接口及程序,并创建基于简单语言的图形化界面的执行程序。

下面是我写的脚本,其中TC是启动比较复杂,启动之后最大化,然后再最小化在任务栏里。因为这个程序员是需要的时候再调用出来的。

;增加自动延时启动程序 5000毫秒就是5秒
Sleep, 5000
Run C:\Program Files (x86)\Tencent\WeChat\WeChat.exe
Sleep, 5000
Run D:\Program Files (x86)\WXWork\WXWork.exe
Sleep, 5000
runTotalCmd(false)
;运行TC的函数
runTotalCmd(isMax)
{
Run D:\GreenSoftwares\totalcmd\TOTALCMD64.EXE
;启动之后,便进行最大化最小化
while(true)
{
;是否不存在TC界面
IfWinNotExist ahk_class TTOTAL_CMD
Sleep, 10
Else
{
If isMax
{
WinMaximize
}
Else
{
WinMaximize
WinMinimize
}
break
}

}
}


这里简单解释一下runTotalCmd函数的意思

先启动Total Commander,因为TC启动之后,需要等一下脚本才能检测到,所以后面有个检测程序。

在一个while循环关中

用IfWinNotExist 来判断Total Commander是否不存在,如果不存在则休眠10好眠

如果存在,则进行最大化,然后最小话

因为这段代码是我实际运行的代码,我在这里增加了一个isMax来判断是第一次启动,第一次启动才需要最大化和最小化,然后就在后台静静地待者。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息