The WH_FOREGROUNDIDLE hook enables you to perform low priority tasks during times when its foreground thread is idle. Windows calls a WH_FOREGROUNDIDLE hook procedure when the application's foreground thread is about to become idle.
For more information, see the ForegroundIdleProc function.