none
如何修改其他窗口的输入法(TSF) RRS feed

  • 问题

  • IMM可以向目标窗口发送窗口消息WM_INPUTLANGCHANGE


    TSF切换输入法可以使用:ITfInputProcessorProfiles::ActivateLanguageProfile

    但是它只能用于自身窗口.

    请问如何切换其他窗口(其他进程)的输入法?

    2019年10月21日 11:51

全部回复

  • 你好,

    感谢你在这里发帖。

    你可以通过ActivateKeyboardLayout激活键盘布局。例如以下代码,"0x0409"代表ENG,可以通过LoadKeyboardLayoutA加载键盘布局,再进行激活。

    #include <imm.h>
    #pragma comment(lib, "imm32")

    HKL test = ::LoadKeyboardLayoutA("0x0409", KLF_ACTIVATE); ::ActivateKeyboardLayout(test, 0);

    Best Regards,

    Suarez Zhou


    如果您对Visual Studio 或Microsoft Azure相关产品感兴趣,请点击此链接,或扫描以下二维码注册获取相关信息。



    2019年10月22日 5:48