写这个代码的缘由:
笔记本比较老旧,开机默认同时启动 钉钉、微信、OUTLOOK 会很慢。
回家玩游戏又不希望开机启动这些软件。
我希望能手动控制这些软件的启动,于是乎,我写了下面的脚本:
[Asm] 纯文本查看 复制代码 #SingleInstance,force
;#NoTrayIcon ;无菜单栏图标
dingding_path:="C:\Program Files (x86)\DingDing\DingtalkLauncher.exe"
outlook_path:="C:\Program Files\Microsoft Office\root\Office16\OUTLOOK.EXE"
wx_path:="C:\Program Files\Tencent\WeChat\WeChat.exe"
ProcessExist(exe){ ;一个自定义函数,根据自定义函数的返回值作为#if成立依据原GetPID
Process, Exist,% exe
return ErrorLevel
}
MsgBox, 4, 是否运行下列程序?, 钉钉、OUTLOOK、微信
IfMsgBox Yes
{
if ProcessExist("DingTalk.exe")=0
{
TrayTip, 钉钉启动中, 请耐心等待几秒...`n谢谢!, 2, 1
Run, %dingding_path%
WinWait, 钉钉
WinMaximize ; 使用前面找到的窗口
} else {
TrayTip, 钉钉已启动, 请不要重复运行`n谢谢!, 2, 2
}
if ProcessExist("OUTLOOK.EXE")=0
{
sleep, 20000
Run, %outlook_path%
WinWait, 收件箱 - [email]yourname@163.com[/email] - Outlook
WinMaximize ; 使用前面找到的窗口
} else {
TrayTip, OUTLOOK 已启动, 请不要重复运行`n谢谢!, 2, 2
}
if ProcessExist("WeChat.exe")=0
{
sleep, 10000
Run, %wx_path%
} else {
TrayTip, 微信已启动, 请不要重复运行`n谢谢!, 2, 2
}
}
return
代码里面的邮箱可以改成自己的,不希望开机启动 OUTLOOK 可以把那一段删除,也可以自己添加希望启动的软件的代码。
代码存储为 RunWorkAppList.ahk
然后再新建一个 ahk 文件,输入下面的代码:
[Asm] 纯文本查看 复制代码 ;打开钉钉、微信、outlook
!w::
Run RunWorkAppList.ahk
return
这里我设置的快捷键就是 alt+w,执行这个快捷键之后就会弹出对话框:
这样开机之后就可以选择是否依次打开 钉钉、OUTLOOK、微信了,中间的间隔是10秒,大家可以在第一段代码里修改这个间隔。
|