学会用按键精灵制作脚本:用脚本运行可执行程序
Runapp命令,看上去是不是觉得so easy?不就是runapp某个程序的路径,然后就可以打开这个程序了吗?老话怎么说来着,越简单的东西越是不简单。Runapp使用起来也是处处暗藏杀机滴。
1. Runapp命令是个啥?
命令名称RunApp,运行命令功能启动一个程序或者打开一个文件。
2. 重头杀机——你所要启动的程序是带参数的
Runapp不支持启动带参数的程序。首先,我们可以使用进程查看工具,查看下我们要启动的程序是否是带有参数的。然后,我们打开进程查看工具,然后点击我们要查看的程序,例如QQ程序。如果是带有参数的程序,用进程工具打开之后,弹出的界面,在程序路径后面会出现参数。例如:F:桌面程序目录 ot.exe $-fl$。
3. 解决方法之一
鼠标右键,创建快捷方式。右击创建好的快捷方式,选择属性。在“目标内容”填写目标文件路径及参数,如F:桌面程序目录 ot.exe $-fl$。在“起始位置”填写目标文件夹,如F:桌面程序目录(用进程查看工具查看,有的情况下会发现,程序所在的位置并不是程序的目录,这里要注意确认,一定要填写程序的起始位置,程序所在的目标文件夹的位置)。
如图所示:
使用RunApp启动这个快捷方式,例如在此快捷方式在桌面时。Call RunApp("C:UsersDeathDesktop
ot.exe.lnk")
经过上面的两步就可以达到预想的目的了。
4. 解决方法之二
使用命令库里的Call Lib.API.运行程序(程序路径)这条命令来运行,这条命令里使用了ShellExecute函数来运行程序,据说这函数十分流弊,可以运行所有可执行文件。
5. 杀机之——粗心犯下的错
例如:写路径的时候,路径前后多加了肉眼很难注意到的空格。RunApp " G:清理垃圾"和RunApp "G:清理垃圾 "上面的两句代码,前后分别多出了一个空格,出现了空格是无法运行起来的。所以要特别注意,不能因为手抖多打了几个空格,不然调试那么幸苦,结果发现是败在了小小空格的手上,会忍不住想要掐自己的。
正确的:RunApp "G:清理垃圾"
如果是先把地址赋值给变量,再runapp变量的话,要注意下变量复制过程中有没有多了点什么或者少了点什么。
再例如,在自定义UserVar里定义程序运行地址后:
UserVar YX"D:QQQQProtectBinQQProtect.exe"; "QQ地址:" RunApp(YX)
这样的情况,要注意下自定义界面里的QQ地址这项,是不是已经被修改并且保存成了其他的值。
如图:QQ地址的值已经变化了,这时候运行的话,就不能运行之前设置的路径里的程序。
6. 拓展知识:Runapp打开文件,如何选择打开方式?
例如我要用画图打开一张bmp图片。我们可以这样:RunApp "mspaint.exe G:图片"
效果:
RunApp "mspaint.exe G:图片"
mspaint.exe是画图软件的运行路径,空格之后输入图片路径G:图片。
Runapp(notepad)和Runapp("notepad")调试后为什么结果会不同?Runapp(notepad)打开的是按键精灵的目录文件夹,而Runapp("notepad")打开的是记事本,这个引号的作用是什么呢?Runapp(notepad)里的notepad是一个变量,变量没赋值默认为0,函数默认运行按键精灵目录文件夹。Runapp("notepad")里的"notepad"是字符串型,是记事本的相对路径。函数则运行记事本。
Runapp为什么不能执行cmd里的MD命令?例如:
path"md f:a" runapp(path)
并不能在F盘新建A文件夹。为什么呢?因为md不是一个程序,而是CMD.exe里面的一个创建文件夹的命令,所以需要用cmd打开运行。
正确的应该是这样:
path"cmd /c md f:a" runapp(path)
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。