allowSetForegroundWindow 函数 (winuser.h)
使指定的进程能够使用 SetForegroundWindow 函数设置前台窗口。 调用进程必须已经能够设置前台窗口。 有关详细信息,请参阅本主题后面的“备注”。
语法
BOOL AllowSetForegroundWindow(
[in] DWORD dwProcessId
);
参数
[in] dwProcessId
类型:DWORD
将启用以设置前台窗口的进程标识符。 如果 此参数ASFW_ANY,则将启用所有进程来设置前台窗口。
返回值
类型: BOOL
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 如果调用进程无法设置前台窗口,该函数将失败。 要获得更多的错误信息,请调用 GetLastError。
注解
系统限制哪些进程可以设置前台窗口。 通常,仅当以下情况时,进程才能通过调用 SetForegroundWindow 函数来设置前台窗口:
- 以下所有条件都为 true:
- 调用进程属于桌面应用程序,而不是为 Windows 8 或 8.1 设计的 UWP 应用或 Windows 应用商店应用。
- 前台进程尚未禁用对 LockSetForegroundWindow 函数的先前调用对 SetForegroundWindow 的 调用。
- 前台锁超时已过期, (在 SystemParametersInfo) 中看到SPI_GETFOREGROUNDLOCKTIMEOUT。
- 没有菜单处于活动状态。
- 此外,至少满足以下条件之一:
- 调用进程是前台进程。
- 调用进程由前台进程启动。
- 当前没有前台窗口,因此没有前台进程。
- 调用进程收到了最后一个输入事件。
- 正在调试前台进程或调用进程。
可以设置前台窗口的进程可以通过调用 AllowSetForegroundWindow 使另一个进程能够设置前台窗口。 dwProcessId 参数指定的进程将失去在用户下次生成输入时设置前台窗口的能力,除非输入定向到该进程,或下一次进程调用 AllowSetForegroundWindow 时,除非指定了与上次对 AllowSetForegroundWindow 的调用相同的进程。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | 在 Windows 8) 中引入的 ext-ms-win-ntuser-window-l1-1-0 ( |
请参阅
概念性
引用