用法是这样的,,你试试
Win10 20H2原生输入法不支持
能否通过读取输入法状态,显示在ahk生成的一个小gui窗口,再让这个窗口跟随鼠标?
AHK实现切换自由
使用 AHK 在 VS Code 中根据上下文自动切换输入法状态
试试这个,可能符合你需要
我这个方案主要针对能换皮肤的输入法,微软输入法就算能用,一大条悬浮框跟着箭头,也太丑了
用 aardio 简单写了一个,支持所有输入法,支持 XP 到 Win11 :
当然可以简单地换成图标、动画等等。
源代码见 aardio 范例:
网上很多判断输入法状态的代码是错的,例如很多代码和教程都是判断IMC_GETCONVERSIONMODE 的返回值是否1,是否0,是否 1025,这样当然会时灵时不灵。
IMC_GETCONVERSIONMODE 的返回值要按位判断。
例如判断输入法中英状态,用 aardio 要这么写:
3 & key.ime.control(,1/*_IMC_GETCONVERSIONMODE*/)
再例如判断输入法是否开启中文标点,应当这样写:
0x400 & key.ime.control(,1/*_IMC_GETCONVERSIONMODE*/)
aardio 提供了一个更简单的函数:
var openState,mode = key.ime.state();
上面第一个返回值表示输入法是否打开,mode 为1 表示半角标点, mode 为 2 表示全角标点,mode 为 3 表示开启中文标点。
有没有办法以光标位基准来判断和显示呢?包括游戏内的支持
提出这个问题是因为,鼠标的指针并非时常在光标附近停留,尤其是游戏里,基本都是点击Enter进入输入模式,这时候鼠标指针大多数情况都不在光标附近。
autohotkey只能识别标准窗体的光标,最多再通过插件实现chrome类窗体。
要适配所以窗口光标你问问楼上有没有办法@jacen 。
::User32.GetGUIThreadInfo 或 MSAA 可以获取光标位置。
我已经把上面的程序改为跟随光标了,aardio 是这样写:
var caret = winex.getCaret() || winex.accObject.getCaret();
winform.imeState.setPos(caret.left+30,caret.top -30);
其他语言网上搜一下应当都有。
win11打字它会一直闪怎么办,还有卡顿怎么解决,希望作者能出个不卡顿的版本,看前面说会占用内存,但是我内存多没事
有打包好的吗,求分享
有没有exe
求分享EXE,谢谢
会闪可能是因为用的默认搜狗默认皮肤或者动态皮肤,换个普通的皮肤就好了。
你把这行数字改小,这段代码下载ahk运行试试還卡顿不。
破案了,输入法必须设定成非默认输入法才有效,否则权限太高,不能操纵。。。你试试
破案了,输入法必须设定成非默认输入法才有效,否则权限太高,不能操纵。。。你试试吧
破案了,输入法有时必须设定成非默认输入法才有效,否则权限太高,不能操纵。。。你试试bia
谢谢,可以跟随鼠标到处走了. 对了,刚刚在试的时候发现 还需要把微软输入 选项 里的兼容性开关打开.
破案了,输入法有时必须设定成非默认输入法才有效,否则权限太高,不能操纵。。。
你试试,win11应该也能用
win10和win11用一段时间就不能抓取了,win11是最新的测试版,win10是企业版
权限问题,一是给软件提升权限,以管理员运行,二是给输入法降权,设成非默认输入法
还需要把微软输入 选项 里的兼容性开关打开.
折腾一天了,好像还是不行,设置完要重启么