首页 > 其他 > 详细

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

时间:2019-11-20 20:02:24      阅读:316      评论:0      收藏:0      [点我收藏+]

发送字符串这个最基本的需求,在AutoHotkey里实现却不容易,

主要问题就是中文输入法状态下,用Send发送内容,可能会变成打字而输出不正确的内容,

可能有些输入法没这问题,我用极点五笔这方面是被影响了。

后来发现用PostMessage 0x102(WM_CHAR)消息可完美解决此问题,效果很好,一般发送内容都不再依赖剪切板了。

大量的内容还是推荐剪切板粘贴。

    sendP(str, winTitle:="A")
    {
        BlockInput(true)
        ctl := ControlGetFocus(winTitle)
        if ctl
        {
            loop parse, str
                PostMessage(0x102, ord(A_LoopField),, ctl, winTitle)
        }
        else
        {
            loop parse, str
                PostMessage(0x102, Ord(A_LoopField),,, winTitle) ;必须留空
        }
        BlockInput(false)
    }

  标准窗口能获取控件的,需要传入控件参数才行,而有些窗口(比如QQ)无法获取控件的,则控件的参数直接留空。

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

原文:https://www.cnblogs.com/hyaray/p/11899920.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!