AutoHotkey无视输入法发送指定字符串的方法

发送字符串这个最基本的需求,在 AutoHotkey 里完美实现却有点坎坷,
主要问题就是中文输入法状态下,用 Send 发送内容,可能会变成打字而输出不正确的内容,
中文状态下,句号默认是,而有的软件热键是.,中文状态下按键会无效,用SendText也会有其他问题(忘了哪里有问题,待完善),

于是需要一个更底层的发送按键的方式。
后来发现用 PostMessage 可完美解决此问题,一般发送内容都不再依赖剪切板了。
但是大量的内容还是推荐用剪切板粘贴
附上 AutoHotkey v2-beta 代码

WinActive("A")
ctl := (ControlGetFocus() || WinGetID())
loop parse, str ;这是发送的字符串
    PostMessage(WM_CHAR:=0x102, ord(A_LoopField),, ctl)
posted @ 2019-11-20 19:15  火冷  阅读(3406)  评论(6编辑  收藏  举报