Compartir a través de


Método ITfKeystrokeMgr::TestKeyUp (msctf.h)

Determina si el administrador de pulsaciones de teclas controlará un evento de pulsación de teclas.

Sintaxis

HRESULT TestKeyUp(
  [in]  WPARAM wParam,
  [in]  LPARAM lParam,
  [out] BOOL   *pfEaten
);

Parámetros

[in] wParam

Especifica el código de clave virtual de la clave. Para obtener más información sobre este parámetro, vea el parámetro wParam en WM_KEYUP.

[in] lParam

Especifica el recuento de repeticiones, el código de examen, la marca de clave extendida, el código de contexto, la marca de estado de clave anterior y la marca de estado de transición de la clave. Para obtener más información sobre este parámetro, consulte el parámetro lParam en WM_KEYUP.

[out] pfEaten

Puntero a una BOOL que indica si se controla el evento de clave. Si este valor recibe TRUE, el evento de clave se controla y el evento no se debe reenviar a la aplicación. Si este valor es FALSE, el evento de clave no se controla y el evento se debe reenviar a la aplicación.

Valor devuelto

Este método puede devolver uno de estos valores.

Valor Descripción
S_OK
Método realizado correctamente.
S_FALSE
No hay receptores de eventos de clave instalados.
E_INVALIDARG
Uno o varios parámetros no son válidos.

Comentarios

Una aplicación puede determinar si el administrador de pulsaciones de teclas controla un evento de clave con este método. Si este método es correcto y pfEaten recibe TRUE, la aplicación debe llamar a ITfKeystrokeMgr::KeyUp. Si este método no devuelve S_OK o pfEaten recibe FALSE, la aplicación no debe llamar a ITfKeystrokeMgr::KeyUp . A continuación se muestra un ejemplo de cómo se implementa.


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 text service. Do not pass the key to the application.
        continue;
    }
    else
    {
        //Let the application process the key. 
    }
}

Si el administrador de pulsaciones de teclas no controla el evento de clave, pasa el evento de clave al servicio de texto TSF llamando al método ITfKeyEventSink::OnTestKeyUp del servicio de texto de TSF.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado msctf.h
Archivo DLL Msctf.dll
Redistribuible TSF 1.0 en Windows 2000 Professional

Consulte también