|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
学习allegro,画一块板子时,老师给了个封装库,可惜里面没有device文件,导入第三方网标时却必须有。老师让一个一个的创建,太麻烦,随想办法搞了个自动创建的脚本。
思路如下:
一、allegro 中录制创建device文件的脚本;
file -> script ; record; 开始录制脚本
file -> Create Device;创建device文件
ctrl + s 保存,确定。
创建好的脚本位于 封装文件所在的目录。我创建好的:create_device_file.scr。
二、修改设置,将 allegro 中 脚本路径指向 上述脚本所在的文件夹。可提前将脚本移至想要设置路径的文件夹。
三、为脚本创建快捷键,方法有很多种,我是修改的env文件,设置了F9为快捷键。
alias F9 "replay create_device_file"
四、执行脚本。
脚本采用了批处理方式,依次打开脚本所在文件夹中的 封装文件,中间间接引用vbs脚本,模拟向程序发送 F9 + 回车 按键,让软件进行脚本创建,最后,kill掉软件进程来关闭软件,循环打开下一个封装文件,循环最后,删除vbs文件。脚本如下:
@for /f "delims=" %%i in ('dir /b *.dra') do (
>tmp.vbs echo set x=createobject^("wscript.shell"^)
>>tmp.vbs echo wscript.sleep 10
>>tmp.vbs echo x.run "%%i",1
>>tmp.vbs echo wscript.sleep 4000
>>tmp.vbs echo x.sendkeys "F9"
>>tmp.vbs echo x.sendkeys "{ENTER}"
>>tmp.vbs echo x.sendkeys "{ENTER}"
>>tmp.vbs echo wscript.sleep 4000
cscript //nologo tmp.vbs & del tmp.vbs
taskkill /f /im allegro.exe
)
需要注意,sleep时间,可根据自己电脑速度进行调整。F9快捷键也可根据自己的设置进行调整。
但是!特别要注意!软件运行过程中一定不能乱点鼠标,会造成键盘输入到其他地方,从而创建device文件失败!
本来不会写 批处理文件和vbs代码,都摘自网络,拼拼凑凑,居然可以运行!感谢每个分享的人!
2016-03-15更新,修改了软件退出方式,以改正生成过程中造成的上锁问题。
如果封装文件已经上锁,请删除文件夹下的.lck文件。
代码: 使用 taskkill 相当于外部将allegro进行强行结束,可能造成文件上锁。
2016-03-15版本修改为向软件发送exit命令,使其正常自动退出。 |
|