Função AllowSetForegroundWindow (winuser.h)

Permite que o processo especificado defina a janela em primeiro plano usando a função SetForegroundWindow . O processo de chamada já deve ser capaz de definir a janela em primeiro plano. Para obter mais informações, consulte Comentários mais adiante neste tópico.

Sintaxe

BOOL AllowSetForegroundWindow(
  [in] DWORD dwProcessId
);

Parâmetros

[in] dwProcessId

Tipo: DWORD

O identificador do processo que será habilitado para definir a janela em primeiro plano. Se esse parâmetro for ASFW_ANY, todos os processos serão habilitados para definir a janela em primeiro plano.

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. A função falhará se o processo de chamada não puder definir a janela em primeiro plano. Para obter informações de erro estendidas, chame GetLastError.

Comentários

O sistema restringe quais processos podem definir a janela em primeiro plano. Normalmente, um processo pode definir a janela em primeiro plano chamando a função SetForegroundWindow somente se:

  • Todas as seguintes condições são verdadeiras:
    • O processo de chamada pertence a um aplicativo da área de trabalho, não a um aplicativo UWP ou a um aplicativo da Windows Store projetado para Windows 8 ou 8.1.
    • O processo em primeiro plano não desabilitou as chamadas para SetForegroundWindow por uma chamada anterior para a função LockSetForegroundWindow .
    • O tempo limite de bloqueio em primeiro plano expirou (consulte SPI_GETFOREGROUNDLOCKTIMEOUT em SystemParametersInfo).
    • Nenhum menu está ativo.
  • Além disso, pelo menos uma das seguintes condições é verdadeira:
    • O processo de chamada é o processo em primeiro plano.
    • O processo de chamada foi iniciado pelo processo em primeiro plano.
    • Atualmente, não há nenhuma janela em primeiro plano e, portanto, nenhum processo em primeiro plano.
    • O processo de chamada recebeu o último evento de entrada.
    • O processo em primeiro plano ou o processo de chamada está sendo depurado.

Um processo que pode definir a janela em primeiro plano pode habilitar outro processo para definir a janela em primeiro plano chamando AllowSetForegroundWindow. O processo especificado pelo parâmetro dwProcessId perde a capacidade de definir a janela em primeiro plano na próxima vez que o usuário gerar entrada, a menos que a entrada seja direcionada para esse processo ou na próxima vez que um processo chamar AllowSetForegroundWindow, a menos que o mesmo processo seja especificado como na chamada anterior para AllowSetForegroundWindow.

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-0 (introduzido no Windows 8)

Confira também

Conceitual

LockSetForegroundWindow

Referência

Setforegroundwindow

Windows