Función GetGUIThreadInfo (winuser.h)
Recupera información sobre la ventana activa o un subproceso de GUI especificado.
Sintaxis
BOOL GetGUIThreadInfo(
[in] DWORD idThread,
[in, out] PGUITHREADINFO pgui
);
Parámetros
[in] idThread
Tipo: DWORD
Identificador del subproceso para el que se va a recuperar información. Para recuperar este valor, use la función GetWindowThreadProcessId . Si este parámetro es NULL, la función devuelve información para el subproceso en primer plano.
[in, out] pgui
Tipo: LPGUITHREADINFO
Puntero a una estructura GUITHREADINFO que recibe información que describe el subproceso. Tenga en cuenta que debe establecer el miembro cbSize en sizeof(GUITHREADINFO)
antes de llamar a esta función.
Valor devuelto
Tipo: BOOL
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Esta función se realiza correctamente incluso si la ventana activa no es propiedad del proceso de llamada. Si el subproceso especificado no existe o tiene una cola de entrada, se producirá un error en la función.
Esta función es útil para recuperar información fuera del contexto sobre un subproceso. La información recuperada es la misma que si una aplicación recuperó la información sobre sí misma.
Para un control de edición, el rectángulo rcCaret devuelto contiene el símbolo de intercalación más información sobre la dirección del texto y el relleno. Por lo tanto, puede que no proporcione la posición correcta del cursor. La fuente Sans Serif usa cuatro caracteres para el cursor:
Carácter de cursor | punto de código Unicode |
---|---|
CURSOR_LTR | 0xf00c |
CURSOR_RTL | 0xf00d |
CURSOR_THAI | 0xf00e |
CURSOR_USA | 0xfff (se trata de un valor de marcador sin glifo asociado) |
Para obtener el punto de inserción real en el rectángulo rcCaret , realice los pasos siguientes.
- Llame a GetKeyboardLayout para recuperar el idioma de entrada actual.
- Determine el carácter usado para el cursor, en función del idioma de entrada actual.
- Llame a CreateFont mediante Sans Serif para la fuente, el alto dado por rcCaret y un ancho de
zero
. Para fnWeight, llame aSystemParametersInfo(SPI_GETCARETWIDTH, 0, pvParam, 0)
. Si pvParam es mayor que 1, establezca fnWeight en 700; de lo contrario, establezca fnWeight en 400. - Seleccione la fuente en un contexto de dispositivo (DC) y use GetCharABCWidths para obtener el
B
ancho del carácter de cursor adecuado. - Agregue el
B
ancho a rcCaret.izquierda para obtener el punto de inserción real.
Es posible que la función no devuelva identificadores de ventana válidos en la estructura GUITHREADINFO cuando se llama para recuperar información para el subproceso en primer plano, como cuando una ventana pierde la activación.
Virtualización de PPP
Las coordenadas devueltas en la rect de rcCaret de la estructura GUITHREADINFO son coordenadas lógicas en términos de la ventana asociada al símbolo de intercalación. No se virtualizan en el modo del subproceso que realiza la llamada.Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluya Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Conjunto de API | ext-ms-win-ntuser-window-l1-1-1 (introducido en Windows 8.1) |
Consulte también
Conceptual
Referencia