如何确定进程是否具有GUI?

时间:2015-07-11 10:48:48

标签: c++ windows winapi process

如何确定流程是否具有响应式GUI或者它是后台应用程序?可能有必要进行一些API函数调用吗?

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

1 个答案:

答案 0 :(得分:3)

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

  

如果指定的帖子不存在有输入队列,则该功能将失败。

具有输入队列的线程可能拥有窗口。请注意,创建窗口不需要具有输入队列的线程。另请注意,非GUI线程可以随时传播到GUI线程。


注意:尽管可执行映像指定了subsystem,但它们运行的​​位置(例如CONSOLEWINDOWS),这不是用于区分具有GUI的进程和“后台进程”。在CONSOLE子系统中运行的进程也可以创建GUI。