Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[Microsoft Agent está en desuso a partir de Windows 7 y puede no estar disponible en versiones posteriores de Windows].
HRESULT Activate(
short sState, // topmost character or client setting
);
Establece si un cliente está activo o si un carácter es superior.
- Devuelve S_OK para indicar que la operación se realizó correctamente.
- Devuelve S_FALSE para indicar que la operación no se realizó correctamente.
-
sState
-
Puede especificar los siguientes valores para este parámetro:
Valor Descripción 0 Establezca como no el cliente activo. 1 Establezca como el cliente activo. 2 Haga el carácter más alto.
Cuando hay varios caracteres visibles, solo uno de los caracteres recibe la entrada de voz a la vez. De forma similar, cuando varias aplicaciones cliente comparten el mismo carácter, solo uno de los clientes recibe la entrada del mouse (por ejemplo, el control de Microsoft Agent hace clic o arrastra eventos) a la vez. El juego de caracteres para recibir la entrada del mouse y la voz es el carácter más alto y el cliente que recibe la entrada es el cliente activo del carácter. (La ventana del carácter superior también aparece en la parte superior del orden z de la ventana de caracteres). Normalmente, el usuario determina qué carácter es el más alto seleccionándolo explícitamente. Sin embargo, la activación más alta también cambia cuando se muestra u oculta un carácter (el carácter se convierte en o ya no está más arriba, respectivamente).
También puede usar este método para administrar explícitamente cuando el cliente recibe la entrada dirigida al carácter, como cuando la propia aplicación se activa. Por ejemplo, establecer Estado en 2 hace que el carácter sea más alto y el cliente recibe todos los eventos de entrada de voz y mouse generados a partir de la interacción del usuario con el carácter. Por lo tanto, también hace que el cliente sea el cliente activo de entrada del carácter. Sin embargo, también puede establecer el cliente activo para un carácter sin que el carácter sea más alto, estableciendo State en 1. Esto permite al cliente recibir la entrada dirigida a ese carácter cuando el carácter se vuelve más alto. Del mismo modo, puede establecer que el cliente no sea el cliente activo (para no recibir la entrada) cuando el carácter se convierta en el máximo, estableciendo Estado en 0. Puede determinar si un carácter tiene otros clientes actuales mediante IAgentCharacter::HasOtherClients.
Evite llamar a este método directamente después de un método Show. Mostrar establece automáticamente el cliente activo de entrada. Cuando el carácter está oculto, se puede producir un error en la llamada a Activate , si se procesa antes de que se complete el método show .
Se producirá un error al intentar llamar a este método con el parámetro state establecido en 2 (cuando se oculta el carácter especificado). Del mismo modo, si establece Estado en 0 y la aplicación es el único cliente, se produce un error en esta llamada. Un carácter siempre debe tener un cliente superior.
Nota
Llamar a este método con State establecido en 1 no suele generar un evento AgentNotifySink::ActivateInputState a menos que no haya otros caracteres cargados o la aplicación ya esté activa de entrada.
Consulte también
IAgentCharacter::HasOtherClients