Funzione AllowSetForegroundWindow (winuser.h)

Consente al processo specificato di impostare la finestra in primo piano usando la funzione SetForegroundWindow . Il processo chiamante deve già essere in grado di impostare la finestra in primo piano. Per ulteriori informazioni, vedere la sezione "Osservazioni" più avanti in questo argomento.

Sintassi

BOOL AllowSetForegroundWindow(
  [in] DWORD dwProcessId
);

Parametri

[in] dwProcessId

Tipo: DWORD

Identificatore del processo che verrà abilitato per impostare la finestra in primo piano. Se questo parametro è ASFW_ANY, tutti i processi verranno abilitati per impostare la finestra di primo piano.

Valore restituito

Tipo: BOOL

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. La funzione avrà esito negativo se il processo chiamante non può impostare la finestra in primo piano. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Il sistema limita i processi che possono impostare la finestra di primo piano. In genere, un processo può impostare la finestra in primo piano chiamando la funzione SetForegroundWindow solo se:

  • Tutte le condizioni seguenti sono vere:
    • Il processo di chiamata appartiene a un'applicazione desktop, non a un'app UWP o a un'app di Windows Store progettata per Windows 8 o 8.1.
    • Il processo in primo piano non ha disabilitato le chiamate a SetForegroundWindow tramite una chiamata precedente alla funzione LockSetForegroundWindow .
    • Il timeout del blocco in primo piano è scaduto (vedere SPI_GETFOREGROUNDLOCKTIMEOUT in SystemParametersInfo).
    • Nessun menu è attivo.
  • Inoltre, almeno una delle seguenti condizioni è vera:
    • Il processo chiamante è il processo in primo piano.
    • Il processo di chiamata è stato avviato dal processo in primo piano.
    • Attualmente non esiste alcuna finestra in primo piano e quindi nessun processo in primo piano.
    • Il processo chiamante ha ricevuto l'ultimo evento di input.
    • Il processo in primo piano o il processo chiamante viene eseguito il debug.

Un processo che può impostare la finestra di primo piano può abilitare un altro processo per impostare la finestra in primo piano chiamando AllowSetForegroundWindow. Il processo specificato dal parametro dwProcessId perde la possibilità di impostare la finestra in primo piano la prossima volta che l'utente genera l'input, a meno che l'input non venga indirizzato a tale processo o alla successiva volta che un processo chiama AllowSetForegroundWindow, a meno che non venga specificato lo stesso processo come nella chiamata precedente a AllowSetForegroundWindow.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll
Set di API ext-ms-win-ntuser-window-l1-1-0 (introdotto in Windows 8)

Vedi anche

Informazioni concettuali

LockSetForegroundWindow

Riferimento

SetForegroundWindow

Windows