Windows9x系统提供的ime管理函数 |
2006-01-14 |
作者 不祥 |
Windows9x系统提供的ime管理函数
上一章,我们介绍了ime文件中必须设计的函数,这些函数要靠我们自己来设计。要完成这些函数的设计,需用到windows系统提供的管理函数(Input Method
Manager,简称IMM)。
IMM函数可以被IME函数使用,也可用于应用软件直接管理IME。
相关术语:
(1)input
method context 简称IMC--输入法相关部分,在这里解释为:相关连的应用程序(进程)
(2)component of the
input context 简称IMCC--IMC的部件,是INPUTCONTEXT
结构的成员。
一、IME中使用的IMM函数清单
ImmGetCompositionWindow
//取编码窗口信息
ImmSetCompositionWindow //设置编码窗口信息
ImmGetCandidateWindow //取选择窗口信息
ImmSetCandidateWindow
//设置选择窗口信息
ImmGetCompositionString
//取编码窗口的某一信息
ImmSetCompositionString
//设置编码窗口的某一信息
ImmGetCompositionFont //取编码字体
ImmSetCompositionFont
//设置编码字体
ImmGetNumCandidateList //取选择区中编码数
ImmGetCandidateList
//取选择区中编码
ImmGetGuideLine
ImmGetConversionStatus
//取当前输入法的状态(ACSII,SHAPE,FULL等)
ImmGetConversionList
//重新获得选择区转换表
ImmGetOpenStatus //取输入法打开属性
ImmSetConversionStatus
//设置输入法状态
ImmSetOpenStatus //设置输入法打开状态
ImmNotifyIME
//通报IME,输入法状态被改变
ImmGenerateMessage
//将我们的汉字串法发送到与当前输入法相关联的应用软件中 ImmRequestMessage
//向应用程序发送WM_IME_REQUEST
ImmLockIMC //获取当前IMC的INPUTCONTEXT结构信息,增加IMC
计数器 ImmUnlockIMC //释放IMC计数器 ImmGetIMCLockCount //取计数器值 ImmCreateIMCC
//创建INPUTCONTEXT结构的一个成员 ImmDestroyIMCC //删除IMC成员缓冲区 ImmLockIMCC
//取IMCC缓冲地址,同时使IMCC的计数器值增加 ImmUnlockIMCC //递减IMCC计数器 ImmReSizeIMCC
//重新设置IMC的成员的缓冲区大小 ImmGetIMCCSize //取IMC成员的缓冲区大小 ImmGetIMCCLockCount
//返回IMC计数器值 ImmGetHotKey //取输入法状态键,该函数供控制面板使用
ImmSetHotKey
//设置输入法的热键 ImmCreateSoftKeyboard //产生一个软键盘 ImmDestroySoftKeyboard
//销毁软键盘 ImmShowSoftKeyboard //显示或隐藏软键盘 二、IMM函数使用格式说明
1、BOOL WINAPI
ImmGenerateMessage( //将我们的汉字串法发送到与当前输入法相关联的应用软件中 HIMC hIMC
//与当前输入法相关联的应用软件的句柄,
//该结构的hMsgBuf项即为汉字串消息 )
成功为TRUE,否则为FALSE
2、LRESULT
WINAPI ImmRequestMessage( //向应用程序发送WM_IME_REQUEST
//只是用于w98及w2000 HIMC
hIMC, //与当前输入法相关联的应用软件的句柄 WPARAM wParam, //与WM_IME_REQUEST相关的wP LPARAM
lParam
//与WM_IME_REQUEST相关的LP
//=IMR_COMPOSITIONWINOW
//=IMR_CANDIDATEWINDOW
//=IMR_COMPOSITIONFONT
//=IMR_RECONVERTSTRING
//=IMR_CONFIRMRECONVERTSTRING
//=IMR_QUERYCHARPOSITION
//=IMR_DOCUMENTFEED
)
3、LPINPUTCONTEXT
WINAPI ImmLockIMC( //获取当前IMC的INPUTCONTEXT结构信息,增加IMC 计数器 HIMC hIMC
//当前应用程序句柄 )
成功返回INPUTCONTEXT 结构指针,否则为NULL
4、BOOL WINAPI
ImmUnlockIMC( //释放IMC计数器 HIMC hIMC
//当前应用程序句柄 )
返回:如果IMC计数器被减少到0了,返回FALSE,否则为TRUE.
注意:ImmLockIMC与ImmUnlockIMC必须成对出现,必须是相同的HIMC
5、HIMCC
WINAPI ImmGetIMCLockCount( //取计数器值 HIMC hIMC
//当前应用程序句柄 )
如果成功返回HIMC的计数器值,否则为NULL.
6、HIMCC WINAPI
ImmCreateIMCC( //创建INPUTCONTEXT结构的一个成员 DWORD dwSize
//成员的缓冲区长度 )
如果成功返回IMC的成员句柄,否则为NULL
7、HIMCC WINAPI
ImmDestroyIMCC( //删除IMC成员缓冲区 HIMCC hIMCC
//被删除的IMC的成员 )
如果成功返回NULL,否则等于该HIMCC.
8、LPVOID WINAPI
ImmLockIMCC( //取IMCC缓冲地址,同时使IMCC的计数器值增加 HIMCC hIMCC //IMC成员句柄 )
If
the function is successful, the return value is the pointer for the IMC
component. Otherwise, the return value is NULL.
9、BOOL WINAPI
ImmUnlockIMCC( //递减IMCC计数器 HIMCC hIMCC
//IMC成员句柄 )
如果IMCC的计数器值为零,则返回 FALSE,否则为TRUE.
10、HIMCC WINAPI
ImmReSizeIMCC( //重新设置IMC的成员的缓冲区大小 HIMCC hIMCC, //IMC的成员句柄 DWORD dwSize
//新缓冲区大小 )
如果成功,返回新的HIMCC,否则为 NULL.
11、DWORD WINAPI
ImmGetIMCCSize( //取IMC成员的缓冲区大小 HIMCC hIMCC
//IMC成员句柄 )
返回IMC成员的缓冲区大小
12、DWORD WINAPI ImmGetIMCCLockCount(
//返回IMC计数器值 HIMCC hIMCC
//IMC成员的句柄 )
成功返回该IMCC的计数器值,否则为0
13、BOOL WINAPI ImmGetHotKey(
//取输入法状态键,该函数供控制面板使用 DWORD dwHotKeyID, LPUINT lpuModifiers, LPUINT
lpuVKey, LPHKL lphKL )
14、BOOL WINAPI ImmSetHotKey(
//设置输入法的热键 DWORD dwHotKeyID, UINT uModifiers, UINT uVKey, hKL
hKL )
15、HWND WINAPI ImmCreateSoftKeyboard( //产生一个软键盘 UINT uType,
//软件盘上的键码含义的定义方式
//=SOFTKEYBOARD_TYPE_T1
//=SOFTKEYBOARD_TYPE_C1 UINT
hOwner, //该输入法的UI窗口 int x, //定位坐标 int y
//定位坐标 )
成功返回软键盘的窗口句柄
16、BOOL WINAPI ImmDestroySoftKeyboard(
//销毁软键盘 HWND hSoftKbdWnd
//软年盘窗口句柄 )
成功为TRUE,法哦则为FALSE.
17、BOOL WINAPI
ImmShowSoftKeyboard( //显示或隐藏软键盘 HWND hSoftKbdWnd, //软年盘窗口句柄 int nCmdShow
//窗口状态=SW_HIDE 表示隐藏,=SW_SHOWNOACTIVATE表示显示 )
如构成功返回 TRUE. 否则为
FALSE.
|
分享到:
相关推荐
Windows IME 输入法编程,学习IME编程必看的资料
Windows IME输入法编程.rar 网页
IME输入法编程.pdf
讲述IME框架下开发输入法的基本原理和基本思路,以微软拼音为例,详细描述各种API函数的使用方法和源代码,很有指导意义。
输入法编程详解:第一章 Windows9x系统下汉字输入法的基本原理;第二章 Windows9x系统提供的ime管理函数;第三章 ime文件中必须使用的结构;
IME输入法编程[文].pdf
Winodws Ime 输入法例子程序(vc2008),及其相关的文档整理
对用VC编写IME输入法程序进行了详细解说。 输入法输入法
IME是什么?IME是在Windows平台上使用的标准的输入法接口规范。它实质是一个DLL,Windows为...关于具体接口的定义不是本文的重点,如果您需要了解只需要在网络中搜索“输入法编程指南”就可以明白 ,更多信息参考MSDN。
易语言源码易语言IME输入法源码.rar
基于IMM_IME输入法接口的实现方法PDF
vc制作windows IME输入法.zip
IME输入法.rar
Windows xp系统的ime输入法文件夹,用于Windows xp的ime文件夹丢失后,替换ime输入法文件夹,保证输入法正常工作。
ime输入法设置工具,当你发觉屏幕右下角的输入法图标不见了,通过这个工具可以很快设置出来的。
取自DDK 输入法源码 包括简繁日三种语言
易语言IME输入法源码.zip