愁了.神一般的高手们进来帮小弟解决解决吧.输入法到底是怎么加载到程序里的
愁了...神一般的高手们进来帮小弟解决解决吧...输入法到底是如何加载到程序里的
我安装了我自己的输入法,需要想办法在别的程序里激活这个输入法(DLLMain被调用就可以了),我有这个输入法的HKL
为了方便观察,我在输入法的DLLMain里写了MessageBox
方法一:
向目标程序postmessage 试过WM_INPUTLANGCHANGEREQUEST,WM_INPUTLANGCHANGE,WM_IME_NOTIFY,WM_IME_SELECT等各种输入法相关的消息。,
这些办法的效果是一样的...只有第一个程序中的输入法DLLMain才会被调用,第二个程序就没反应了
重启之后,又拥有了激活一次的机会...用完这次机会,第二个程序还是没反应。 跟程序本身没关系,我换着试过好多
方法二:
我想既然向指定程序激活不行,我就把输入法设置成默认输入法,让所有程序都加载,判断不是我需要的程序就自动切换成下一个输入法。
结果依然只能够激活一个程序。
重启...在系统登录界面(就是选用户那里)弹出来对话框(DLLMain里的Messagebox),然后进了系统我的桌面背景就神秘消失了...
还有一个共同问题:DLL_PROCESS_ATTACH之后紧接着就DLL_PROCESS_DETACH了... 之后不重启你就再也别想见到第二个DLL_PROCESS_ATTACH了...
------解决方案--------------------
今天貌似愚人节
哥第一个回复
输入法不懂,只能帮你顶顶了
我安装了我自己的输入法,需要想办法在别的程序里激活这个输入法(DLLMain被调用就可以了),我有这个输入法的HKL
为了方便观察,我在输入法的DLLMain里写了MessageBox
方法一:
向目标程序postmessage 试过WM_INPUTLANGCHANGEREQUEST,WM_INPUTLANGCHANGE,WM_IME_NOTIFY,WM_IME_SELECT等各种输入法相关的消息。,
这些办法的效果是一样的...只有第一个程序中的输入法DLLMain才会被调用,第二个程序就没反应了
重启之后,又拥有了激活一次的机会...用完这次机会,第二个程序还是没反应。 跟程序本身没关系,我换着试过好多
方法二:
我想既然向指定程序激活不行,我就把输入法设置成默认输入法,让所有程序都加载,判断不是我需要的程序就自动切换成下一个输入法。
结果依然只能够激活一个程序。
重启...在系统登录界面(就是选用户那里)弹出来对话框(DLLMain里的Messagebox),然后进了系统我的桌面背景就神秘消失了...
还有一个共同问题:DLL_PROCESS_ATTACH之后紧接着就DLL_PROCESS_DETACH了... 之后不重启你就再也别想见到第二个DLL_PROCESS_ATTACH了...
------解决方案--------------------
今天貌似愚人节
哥第一个回复
输入法不懂,只能帮你顶顶了