前几天刷皮皮虾的时候刷到了一个推荐的小工具,Textify
因为英语不是很好,平时软件弹窗提示之类的每次百度搜索都是手敲,挺麻烦的,有了这个以后直接复制就行了
但是到了用的时候再打开还嫌麻烦,就向让他在开机就在后台运行,可偏偏软件没有这个开机启动的功能,想想可以用bat脚本来操作。
思路是这样的:
新建一个bat文件放到开机自启目录或者快捷方式放到开机自启目录里面,开机程序自动运行bat文件,打开Textify,然后关闭软件窗口,挂在系统托盘里面。用的时候直接快捷键就行了。
查了一些资料以后发现,bat脚本好像(我没有找到对应的命令,如果有大神欢迎指教)只能直接杀掉进程,这样就不能在后台运行了。
但是看到有推荐使用vbs来模拟键盘Alt+F4的操作,因为没有学过相关知识,只能一边学一边弄了
参考了脚本之家的文章
https://www.jb51.net/article/141356.htm
打开记事本先在里面输入一个单引号加汉字,不这样做的话有时候脚本保存时选择ANSI编码但是还是会成UTF-8(我的电脑是win10 21H1),这个操作本来是加注释但是这样刚刚好可以解决编码问题又不影响脚本运行
如果文件路径中有中文,UFT-8格式会无法运行
'啊
然后另存为,存放在和Textify运行程序在同一个目录中,输入文件名***.vbs并把保存类型选择为所有文件,编码选择ANSI。
在脚本文件中输入
Dim WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run "Textify.exe"
上面的指令打开Textify.exe程序,开机自启的程序可能会有些多,输入一个暂时停止运行脚本的指令,让程序有足够的时间能打开。
为了防止其他程序在此期间打开窗口成为最靠前的窗口而被误关闭,休眠结束后再次打开这个窗口
虽然两次打开同一个程序不能保证100%的不会出错,但是我自己试着还是挺好用的
如果运行的是可以多开的程序,那么下面这段代码不可添加,需要忽略
WScript.Sleep 500 '休眠500毫秒(半秒)
WshShell.Run "Textify.exe" '再次打开程序,确保窗口最靠前
给程序一个暂时的休眠,确保不会操作过快出现窗口没关闭但是出来Windows关机提示的情况,如下图
WScript.Sleep 50
然后,是模拟键盘输入Alt+F4
WshShell.SendKeys "%{F4}"
整个代码是这样的,你们可以比对一下
'啊
Dim WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run "Textify.exe"
WScript.Sleep 500 '休眠500毫秒(半秒)
WshShell.Run "Textify.exe"
WScript.Sleep 50
WshShell.SendKeys "%{F4}"
保存文件,复制vbs文件,在桌面右键粘贴快捷方式,然后再次复制这个快捷方式
打开开机自启目录,可参考下面链接
https://answers.microsoft.com/zh-hans/windows/forum/windows_10-other_settings/windows/a81e83eb-a079-4b3c-9d8f-facc9ed03871?tm=1442997086548
选择粘贴(如果直接复制文件以后粘贴在开机自启目录有大概率会提示
Windows 无法在当前位置创建快捷方式。
要把快捷方式放在桌面上吗?)
现在就可以电脑重启试一下了
===========================分割线========================
如果还想操作其他的,我这里也有尝试过,比如不想把vbs文件放在程序运行目录里面想要放在指定的文件夹里面统一管理,那么需要把脚本中的
WshShell.Run "Textify.exe"
改成完整的文件路径+文件名称,例:
WshShell.Run "D:\绿色程序\Textify_v1.8.2_CN\Textify.exe"
如果路径中带有空格,则需要在路径前后加三个双引号,例:
WshShell.Run """D:\绿色程序\Textify_v1.8.2_CN - 副本\Textify.exe"""
这个地方参考了下面这个文章
https://blog.csdn.net/wanghao3029/article/details/11620981