目的
编译出一个临时版本供调试时,编译名称总是要自己手动修改,习惯在后缀前加上时间戳用来区分,略微麻烦,故使用AHK来自动加上时间戳
思路
- 获取当前输入法
- 调整输入法至英文
- 输入 F2 重命名
- 获取时间戳
- 调整时间戳格式为 月日时分:10131309
- 调整光标位置
- 输出
- 回车保存
- 恢复输入法
使用方法
- 鼠标左键选中需要修改后缀的文件
- win+2
源码
#2:: ;win+2运行
PreLang := GetLang()
SetEN(0x00000804)
SetTimeStamp()
SetLang(PreLang)
return
;获取当前语言,返回当前语言值
GetLang(){
return DllCall("GetKeyboardLayout", UInt)
}
;设置英文模式 0x00000804
SetEN(dwLayout){
HKL:=DllCall("LoadKeyboardLayout", Str, dwLayout, UInt, 0)
SetLang(HKL)
return
}
;设置语言模式
SetLang(HKL)
{
ControlGetFocus,ctl,A
SendMessage,0x50,0,HKL,%ctl%,A
return
}
;设置时间戳
SetTimeStamp()
{
Send, {F2}{Right}
Sleep, 100
FormatTime, now_date, %A_Now%, MMddhhmm ;获取当前时间
Send, `_
Send, % now_date ;输出时间戳
Send, {Enter}
Return
}
BUG
未对后缀进行判断,导致快捷方式的文件如果后缀是.exe(仅供举例说明用),则F2重命名选中后输入{Right},会直接选中“exe”中最后一个“e”的后面,而不是“.”的左边。
非快捷方式文件不影响
参考文档
- https://blog.youkuaiyun.com/weixin_33857230/article/details/85983738
- https://blog.youkuaiyun.com/teshorse/article/details/5566762
- 《AutoHotkey_CN_版本_1.1.30.03.chm》
其他说明
本程序仅供本人平时工作开发时偷懒使用