AutoHotkey无视输入法发送指定字符串的方法
发送字符串这个最基本的需求,在 AutoHotkey
里完美实现却有点坎坷,
主要问题就是中文输入法状态下,用 Send
发送内容,可能会变成打字而输出不正确的内容,
中文状态下,句号默认是。
,而有的软件热键是.
,中文状态下按键会无效,用SendText
也会有其他问题(忘了哪里有问题,待完善),
于是需要一个更底层的发送按键的方式。
后来发现用 PostMessage
可完美解决此问题,一般发送内容都不再依赖剪切板了。
但是大量的内容还是推荐用剪切板粘贴
附上 AutoHotkey v2-beta 代码
WinActive("A")
ctl := (ControlGetFocus() || WinGetID())
loop parse, str ;这是发送的字符串
PostMessage(WM_CHAR:=0x102, ord(A_LoopField),, ctl)