Freigeben über


ForegroundIdleProc-Rückruffunktion

Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookExA-Funktion/SetWindowsHookExW verwendet wird . Das System ruft diese Funktion auf, wenn der Vordergrundthread im Leerlauf steht.

Syntax

DWORD CALLBACK ForegroundIdleProc(
  _In_ int   code,
       DWORD wParam,
       LONG  lParam
);

Parameter

  • Code [in]
    Typ: int

    Wenn CodeHC_ACTION ist, muss die Hookprozedur die Nachricht verarbeiten. Wenn der Code kleiner als 0 ist, muss die Hookprozedur die Nachricht ohne weitere Verarbeitung an die CallNextHookEx-Funktion übergeben und den von CallNextHookEx zurückgegebenen Wert zurückgeben.

  • wParam
    Art: DWORD

    Dieser Parameter wird nicht verwendet.

  • lParam
    Typ: LONG

    Dieser Parameter wird nicht verwendet.

Rückgabewert

Typ:****

Typ: DWORD

Wenn der Code kleiner als 0 ist, muss die Hookprozedur den von CallNextHookEx zurückgegebenen Wert zurückgeben.

Wenn Der Code größer oder gleich 0 ist, wird dringend empfohlen, CallNextHookEx aufzurufen und den zurückgegebenen Wert zurückzugeben. Andernfalls erhalten andere Anwendungen, die WH_FOREGROUNDIDLE Hooks installiert haben, keine Hookbenachrichtigungen und verhalten sich daher möglicherweise falsch. Wenn die Hookprozedur CallNextHookEx nicht aufruft, sollte der Rückgabewert 0 sein.

Hinweise

Der HOOKPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. ForegroundIdleProc ist ein Platzhalter für den anwendungsdefinierte oder bibliotheksdefinierte Funktionsnamen.

Eine Anwendung installiert diese Hookprozedur, indem sie den WH_FOREGROUNDIDLE Hooktyp und den Zeiger auf die Hookprozedur in einem Aufruf der SetWindowsHookExA/SetWindowsHookExW-Funktion angibt.

Vermeiden Sie beim Verarbeiten dieser Rückruffunktion das Aufrufen von Funktionen, die Fensternachrichten aus der Nachrichtenwarteschlange des aufrufenden Threads abrufen. Dazu gehören GetMessage, PeekMessageA/PeekMessageW, modale Dialogfelder und COM-Funktionen. Das Aufrufen solcher Funktionen kann dazu führen, dass der Thread nicht von GetMessage oder WaitMessage zurückgegeben wird, wenn sich Nachrichten in der Nachrichtenwarteschlange des aufrufenden Threads befinden.

Anforderungen

Unterstützte Mindestversion (Client)

Windows 2000 Professional [nur Desktop-Apps]

Unterstützte Mindestversion (Server)

Windows 2000 Server [nur Desktop-Apps]

Header

Winuser.h (einschließlich Windows.h)

Siehe auch

Referenz

CallNextHookEx

SetWindowsHookExA/SetWindowsHookExW

Konzept

Hooks