V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
caryRowen
V2EX  ›  Windows

求问搜狗拼音输入法有什么方法获取到当前的输入状态是中文还是英文呢

  •  
  •   caryRowen · 2022-02-03 01:48:46 +08:00 via Android · 2906 次点击
    这是一个创建于 1043 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题 windows 端,有个项目需要获取到当前的输入状态,在搜狗官网看了下,有开发相关的入口,但似乎没找到有用的资料,特来请教。
    11 条回复    2022-02-05 17:22:31 +08:00
    PolarBears
        1
    PolarBears  
       2022-02-03 02:01:17 +08:00
    看看微软的 IME API ?刚搜索到这个 API ImmGetConversionStatus ,你看看这个是不是符合你的要求。
    solitude3985
        2
    solitude3985  
       2022-02-03 05:24:05 +08:00
    @PolarBears 谢谢抛砖引玉,不过好像他返回的这个值 lpfdwConversion 里面的指针只有 IME_CMODE_ALPHANUMERIC 比较符合描述,没记错的话是注音输入法的(因为注音输入法的数字行也被汉字输入占用了),没有找到提取拼音输入法中英状态的指针


    顺便发一下前几天发的恼骚: https://v2ex.com/t/830164 拼音输入法里面可以打英文属实伪需求,现在都开始想强制把中英转换给关了。
    abc8678
        3
    abc8678  
       2022-02-03 07:58:14 +08:00 via Android   ❤️ 3
    平时我想输入中文的时候,是英文输入法。
    想在浏览器地址栏输入英文的时候,是中文输入法。。。
    yfugibr
        4
    yfugibr  
       2022-02-03 08:06:01 +08:00 via Android   ❤️ 3
    @solitude3985 啊这,抛砖引玉是个谦词,“比喻用自己粗浅的东西(多指意见、文章),引出好的、珍贵的东西”,不是这么用的啊
    nicevar
        5
    nicevar  
       2022-02-03 08:25:30 +08:00
    这个需求很牵强,输入法是自己决定当前的输入状态的,用系统 API 不行,除了暴力和歪门手段没有什么好的办法,但是这么做没有什么意义。
    ysc3839
        6
    ysc3839  
       2022-02-03 11:06:23 +08:00 via Android
    怀疑这是个 X-Y Problem https://coolshell.cn/articles/10804.html
    建议直接说最终需求
    dswyzx
        7
    dswyzx  
       2022-02-03 13:04:28 +08:00   ❤️ 1
    如果输入框是 password,那么不管中文英文输入的都是英文.如果有需求可以考虑下
    caryRowen
        8
    caryRowen  
    OP
       2022-02-03 15:13:40 +08:00
    感谢楼上各位老哥,系统 API 应该是不可行的,在搜狗拼音输入法中,有两种方法可以在中英文输入法之间切换:第一 ctrl+空格;第二,按一次 shift 键。
    为了避免误会是个 X-Y Problem ,我详细描述下需求,为[屏幕阅读器]( https://github.com/nvaccess/nvda)编写一个插件,实现在搜狗拼音输入法中切换中英文状态时正确朗读当前的输入状态。
    caryRowen
        9
    caryRowen  
    OP
       2022-02-03 15:19:04 +08:00
    感谢楼上各位老哥,系统 API 应该是不可行的,在搜狗拼音输入法中,有两种方法可以在中英文输入法之间切换:第一 ctrl+空格;第二,按一次 shift 键。
    为了避免误会是个 X-Y Problem ,我详细描述下需求,为 [屏幕阅读器]( https://github.com/nvaccess/nvda) 编写一个插件,实现在搜狗拼音输入法中切换中英文状态时正确朗读当前的输入状态。
    ysc3839
        10
    ysc3839  
       2022-02-05 11:09:36 +08:00 via Android
    @manchen0528 可以考虑看看 Windows 自带的讲述人能否获得输入状态,能的话逆向看看。
    caryRowen
        11
    caryRowen  
    OP
       2022-02-05 17:22:31 +08:00
    @ysc3839 讲述人在这方面更是若,连自家的微软拼音的中英文状态都无法朗读。另外我发现微软拼音切换中英文的时候状态条有文字变化,搜狗切换的时候似乎没啥改变,不知道飞视障用户如何分辨中英文输入呢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 23:08 · PVG 07:08 · LAX 15:08 · JFK 18:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.