如何判断一个进程是否有GUI?
How to determine if a process has GUI or not?
如何确定进程是否具有响应式 GUI 或者它是后台应用程序?可能有一些 API 函数调用是必须进行的?
(答案不一定要涉及 API 个调用)
最接近的 Windows API 推断此信息的调用是 GetGUIThreadInfo。请注意 备注 部分中的以下段落:
If the specified thread does not exist or have an input queue, the function will fail.
具有输入队列的线程可能拥有 windows。请注意,创建 windows 不需要具有输入队列的线程。另请注意,非 GUI 线程可以随时传播到 GUI 线程。
注意:即使可执行映像指定了 subsystem,但它们 运行(例如 CONSOLE
或 WINDOWS
),这不能用于区分具有 GUI 的进程和 'background process'。 CONSOLE
子系统中的进程 运行ning 也可以创建 GUI。
如何确定进程是否具有响应式 GUI 或者它是后台应用程序?可能有一些 API 函数调用是必须进行的?
(答案不一定要涉及 API 个调用)
最接近的 Windows API 推断此信息的调用是 GetGUIThreadInfo。请注意 备注 部分中的以下段落:
If the specified thread does not exist or have an input queue, the function will fail.
具有输入队列的线程可能拥有 windows。请注意,创建 windows 不需要具有输入队列的线程。另请注意,非 GUI 线程可以随时传播到 GUI 线程。
注意:即使可执行映像指定了 subsystem,但它们 运行(例如
CONSOLE
或 WINDOWS
),这不能用于区分具有 GUI 的进程和 'background process'。 CONSOLE
子系统中的进程 运行ning 也可以创建 GUI。