如何确定进程是否具有GUI

How to determine if a process has GUI or not?

本文关键字:GUI 是否 何确定 进程      更新时间:2023-10-16

如何确定进程是否具有响应式GUI或更确切地说它是后台应用程序?可能有一些API函数调用是必要的?

(答案不一定要涉及API调用)

最接近推断此信息的Windows API调用是GetGUIThreadInfo。请注意备注部分中的以下段落:

如果指定的线程不存在或有输入队列,函数将失败。

具有输入队列的线程可能拥有窗口。注意,创建窗口并不需要带有输入队列的线程。还要注意,非gui线程可以在任何时候传播到gui线程。


注意:即使可执行映像指定了子系统,它们在其中运行(例如CONSOLEWINDOWS),这也不能用于区分具有GUI的进程和"后台进程"。在CONSOLE子系统中运行的进程也可以创建GUI