日期:2014-05-19  浏览次数:20993 次

迟到了,散个分,带个问题;另:没有答案的帖子你叫我怎么结?我又不是奔散分发的
那位大虾用c#写过输入法没?
看到过也给个连接   3Q

------解决方案--------------------
沙发坐了再看.
------解决方案--------------------
没做过,lz的想法真不错
------解决方案--------------------
接分啊
------解决方案--------------------
这样贴子就当是你散分了
------解决方案--------------------
帮顶!
------解决方案--------------------
不会,没作过,关注
学习,学习!
------解决方案--------------------
lz哪是散分
------解决方案--------------------
这样贴子就当是你散分了
------解决方案--------------------
接分啊!
------解决方案--------------------
JF
------解决方案--------------------
LZ这么慷慨。JF哦
------解决方案--------------------
//需要引用System.Windows.Forms名称空间
string languageName= "五笔 ";//查找第一个五笔输入法
foreach(InputLanguage l in InputLanguage.InstalledInputLanguages)
{
if(l.LayoutName.IndexOf(languageName)> =0)
{
InputLanguage.CurrentInputLanguage=l;
break;
}
}

------解决方案--------------------
vs帮助里有一类:InputLanguage
搂主可以研究研究
------解决方案--------------------
输入法编程指南(根据msdn翻译)
作者: 李丽 ,如转载请保证本文档的完整性,并注明出处。
欢迎光临 C++ Builder 研究,http://www.ccrun.com/doc/go.asp?id=590
Windows 95输入法编辑器(IME)
原著:Microsoft
翻译:TBsoft Software Studio
一、关于Windows 95混合语言IME
在Windows 95中,IME是一个动态链接库(DLL),与Windows 3.1远东版本IME不同的是,每一个运行的IME相当于混合语言键盘布局中的一种。与Windows 3.1 IME相比较,Windows 95混合语言IME提供下列增强功能:
●运行时相当于混合语言环境的一个部件
●为每一个应用程序任务提供多重输入上下文
●为每一个应用程序线程提供一个活动的IME
●通过应用程序消息循环给应用程序提供信息(消息顺序不能改变)
●为无IME支持应用程序和部分IME支持应用程序提供有力的支持
要得到全部的增强功能,应用程序需要支持Windows 95 IME应用程序I/F。
本文档描述了Windows 95 IME体系结构的应用程序I/F。

1、IME的结构
Windows 95 IME必须提供两个部件:IME转换接口和IME用户接口。IME转换接口由一组IME模块引出函数提供,这些函数被IMM(输入法管理器——译者注)调用。
IME用户接口由一组窗口提供,这些窗口接收消息并提供IME的用户界面。

2、IME支持应用程序(IME感知应用程序——译者注)
应用程序有下列类型:
●无IME支持应用程序:这种应用程序不控制IME,然而,如果应用程序接受DBCS字符,用户可以通过IME在应用程序中输入DBCS字符。
●部分IME支持应用程序:这种应用程序只控制不同的IME上下文,例如打开和关闭IME、写作窗口等等,但是不重新显示任何IME用户界面。
●完全IME支持应用程序:这种应用程序负责管理通过IME显示给应用程序的任何信息。
在Windows 95中,一个无IME支持应用程序有一个缺省的IME窗口和一个缺省的输入上下文。
部分IME支持应用程序使用预定义的“IME”类创建自己的IME窗口,可以管理或者不管理自己的输入上下文。
完全IME支持应用程序自己管理输入上下文,显示输入上下文给出的任何需要的信息,不使用IME窗口。
二、IME用户界面
IME用户界面包括IME窗口、用户界面(UI)窗口以及UI窗口的部件。

1、特征
IME类是实现IME用户界面部分的预定义全局窗口类。“IME”类与预定义的公共控制窗口类有许多相同的特点,IME窗口实例与静态控制一样通过CreateWindowEx函数创建,IME类窗口自己不响应用户输入,取而代之的是接收不同类型的控制消息实现全部IME用户接口。应用程序可以使用IME类创建自己的IME窗口,还可以使用ImmGetDefaultIMEWnd函数获取缺省IME窗口。创建自己的IME窗口或者使用缺省IME窗口的应用程序被称为IME支持应用程序,具有以下优点(与对应的Windows3.1应用程序比较):

●包括候选字列表窗口(候选窗口),每一个应用程序可以有自己的用户界面窗口实例,使得用户可以在任何输入过程的中途停止并切换到另一个应用程序。在Windows 3.1日文版本中,用户切换到另一个应用程序是必须放弃当前输入过程。
●因为IME用户界面窗口包括应用程序窗口句柄,IME用户界面窗口可以为应用程序提供缺省行为。例如当应用程序移动时IME用户界面窗口自动移动,自动跟随窗口中的插入符号位置,为每一个应用程序标示模式等等。
即使系统仅仅只提供一个IME类,IME窗口仍然有两种类型。一种类型是系统为无IME支持应用程序创建的IME窗口,DefWindowProc函数为该窗口处理消息,DefWindowProc函数的IME用户接口被线程的所有无IME支持窗口共享,在文档中,这种窗口称为缺省IME窗口。另一种类型是IME支持应用程序创建的IME窗口,在文档中,IME支持应用程序创建的IME窗口称作应用程序IME窗口。