Code: Select all
; F12::剪贴板_全角数字转半角()
剪贴板_全角数字转半角(p*) {
; 函数内部调用
If (p.1 = "ToolTip") {
ToolTip, % p.2
fn := Func(A_ThisFunc).Bind("Remove_ToolTip")
SetTimer, %fn%, -2000
Return
}
Else If (p.1 = "Remove_ToolTip") {
ToolTip
Return
}
If (Clipboard = "")
Return %A_ThisFunc%("ToolTip", "剪贴板内容为空")
If !A_IsUnicode
Return %A_ThisFunc%("ToolTip", "请用 AHK 的 Unicode 版本运行")
data := Clipboard
For i, v in StrSplit("0123456789")
StringReplace, data, data, % v, % i-1, All
Clipboard := data
%A_ThisFunc%("ToolTip", Clipboard)
}
如果用 OnClipboardChange 复制时自动转换会更方便,只不过觉得有点浪费系统资源,每次剪贴板发生变化都进行检测。
...想了下,加一个按钮等开关来启用/禁用(自动替换剪贴板的全角数字),就行了