iTfKeystrokeMgr::KeyUp 方法 (msctf.h)
将向上键事件传递给击键管理器。
语法
HRESULT KeyUp(
[in] WPARAM wParam,
[in] LPARAM lParam,
[out] BOOL *pfEaten
);
参数
[in] wParam
指定密钥的虚拟密钥代码。 有关此参数的详细信息,请参阅 WM_KEYUP 中的 wParam 参数。
[in] lParam
指定键的重复计数、扫描代码、扩展键标志、上下文代码、以前的键状态标志和转换状态标志。 有关此参数的详细信息,请参阅 WM_KEYUP 中的 lParam 参数。
[out] pfEaten
指向 BOOL 的指针,该指针在退出时指示是否将处理密钥事件。 如果此值收到 TRUE,则将处理密钥事件,并且不应将事件转发到应用程序。 如果此值为 FALSE,则不会处理键事件,并且应将事件转发到应用程序。
返回值
此方法可以返回其中一个值。
值 | 说明 |
---|---|
|
方法成功。 |
|
未安装密钥事件接收器。 |
|
一个或多个参数无效。 |
注解
如果此方法成功且 pfEaten 收到 TRUE,则应用程序不应处理密钥关闭事件。 如果此方法未返回S_OK或 pfEaten 接收 FALSE,则应用程序应处理键按下事件。 下面是如何实现此操作的示例。
if(msg.message == WM_KEYUP)
{
if( pKeyboardMgr->TestKeyUp(msg.wParam, msg.lParam, &fEaten) == S_OK
&& fEaten
&& pKeyboardMgr->KeyUp(msg.wParam, msg.lParam, &fEaten) == S_OK
&& fEaten)
{
//The key was handled by the keystroke manager or a TSF text service. Do not pass the key to the application.
continue;
}
else
{
//Let the application process the key.
}
}
如果击键管理器不处理键事件,它将通过调用文本服务 ITfKeyEventSink::OnKeyUp 方法将密钥事件传递给文本服务。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | msctf.h |
DLL | Msctf.dll |
可再发行组件 | Windows 2000 专业版上的 TSF 1.0 |