Função GetGUIThreadInfo (winuser.h)
Recupera informações sobre a janela ativa ou um thread de GUI especificado.
Sintaxe
BOOL GetGUIThreadInfo(
[in] DWORD idThread,
[in, out] PGUITHREADINFO pgui
);
Parâmetros
[in] idThread
Tipo: DWORD
O identificador do thread para o qual as informações devem ser recuperadas. Para recuperar esse valor, use a função GetWindowThreadProcessId . Se esse parâmetro for NULL, a função retornará informações para o thread em primeiro plano.
[in, out] pgui
Tipo: LPGUITHREADINFO
Um ponteiro para uma estrutura GUITHREADINFO que recebe informações que descrevem o thread. Observe que você deve definir o membro cbSize como sizeof(GUITHREADINFO)
antes de chamar essa função.
Retornar valor
Tipo: BOOL
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Essa função terá êxito mesmo se a janela ativa não pertencer ao processo de chamada. Se o thread especificado não existir ou tiver uma fila de entrada, a função falhará.
Essa função é útil para recuperar informações fora do contexto sobre um thread. As informações recuperadas são as mesmas que se um aplicativo recuperasse as informações sobre si mesmo.
Para um controle de edição, o retângulo rcCaret retornado contém o cursor mais informações sobre direção e preenchimento de texto. Portanto, ele pode não dar a posição correta do cursor. A fonte Sans Serif usa quatro caracteres para o cursor:
Caractere de cursor | Ponto de código Unicode |
---|---|
CURSOR_LTR | 0xf00c |
CURSOR_RTL | 0xf00d |
CURSOR_THAI | 0xf00e |
CURSOR_USA | 0xfff (esse é um valor de marcador sem glifo associado) |
Para obter o ponto de inserção real no retângulo rcCaret , execute as etapas a seguir.
- Chame GetKeyboardLayout para recuperar o idioma de entrada atual.
- Determine o caractere usado para o cursor, com base no idioma de entrada atual.
- Chame CreateFont usando Sans Serif para a fonte, a altura fornecida por rcCaret e uma largura de
zero
. Para fnWeight, chameSystemParametersInfo(SPI_GETCARETWIDTH, 0, pvParam, 0)
. Se pvParam for maior que 1, defina fnWeight como 700, caso contrário, defina fnWeight como 400. - Selecione a fonte em um DC (contexto de dispositivo) e use GetCharABCWidths para obter a
B
largura do caractere de cursor apropriado. - Adicione a
B
largura ao rcCaret.esquerda para obter o ponto de inserção real.
A função pode não retornar identificadores de janela válidos na estrutura GUITHREADINFO quando chamado para recuperar informações para o thread em primeiro plano, como quando uma janela está perdendo a ativação.
Virtualização de DPI
As coordenadas retornadas na rect rcCaret do struct GUITHREADINFO são coordenadas lógicas em termos da janela associada ao cursor. Eles não são virtualizados no modo do thread de chamada.Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Conjunto de APIs | ext-ms-win-ntuser-window-l1-1-1 (introduzido em Windows 8.1) |
Confira também
Conceitual
Referência