如何检测带有CREATE_NEW_process_GROUP的进程集,以及为什么GetConsoleProcessList(..)返回带有CREATE_NEW_CONSOLE标志的进程?

如何检测带有CREATE_NEW_process_GROUP的进程集,以及为什么GetConsoleProcessList(..)返回带有CREATE_NEW_CONSOLE标志的进程?,c,windows,winapi,windows-7,C,Windows,Winapi,Windows 7,我正在尝试在windows中使用GenerateConsolectLevent模拟SIGTERM。。。我读到的条件应该是新进程位于新进程组中,并共享调用进程的控制台。关于这项工作,我有两个问题- 给定一个进程id,是否可以使用任何当前windows API确定该进程是否是使用CREATE_NEW_process_GROUP标志创建的 GetConsoleProcessList。。提供属于调用进程控制台的所有进程,包括使用CREATE_NEW_console标志创建的进程。这看起来像是一个惊喜,所

我正在尝试在windows中使用GenerateConsolectLevent模拟SIGTERM。。。我读到的条件应该是新进程位于新进程组中,并共享调用进程的控制台。关于这项工作,我有两个问题-

给定一个进程id,是否可以使用任何当前windows API确定该进程是否是使用CREATE_NEW_process_GROUP标志创建的

GetConsoleProcessList。。提供属于调用进程控制台的所有进程,包括使用CREATE_NEW_console标志创建的进程。这看起来像是一个惊喜,所以有人能澄清它的含义吗


1不存在用于确定控制台进程组ID的函数。2如果我们在不共享控制台的子进程上调用GenerateConsolectLevent,则控制台主机有问题。它将一个断开的条目添加到其进程列表中,并保留一个永远不会关闭的进程句柄。这不仅会破坏进程列表,还会中断对GenerateConsolectLevent的后续调用。