【AutoHotKey】加后缀时间戳

文章目录

  • 目的
  • 思路
  • 使用方法
  • 源码
  • BUG
  • 参考文档
  • 其他说明

目的

编译出一个临时版本供调试时,编译名称总是要自己手动修改,习惯在后缀前加上时间戳用来区分,略微麻烦,故使用AHK来自动加上时间戳

思路

  1. 获取当前输入法
  2. 调整输入法至英文
  3. 输入 F2 重命名
  4. 获取时间戳
  5. 调整时间戳格式为 月日时分:10131309
  6. 调整光标位置
  7. 输出
  8. 回车保存
  9. 恢复输入法

使用方法

  1. 鼠标左键选中需要修改后缀的文件
  2. 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”的后面,而不是“.”的左边。

非快捷方式文件不影响

参考文档

  1. https://blog.csdn.net/weixin_33857230/article/details/85983738
  2. https://blog.csdn.net/teshorse/article/details/5566762
  3. 《AutoHotkey_CN_版本_1.1.30.03.chm》

其他说明

本程序仅供本人平时工作开发时偷懒使用

你可能感兴趣的:(AHK,AHK,Autohotkey,工作技巧)