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

一、开机启动

由于开机进入桌面之后,需要在自动开一些软件,比如桌面微信、企业微信、番茄钟、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来判断是第一次启动,第一次启动才需要最大化和最小化,然后就在后台静静地待者。

你可能感兴趣的:(AutoHotKey,脚本编程)