分类: C/C++
2008-08-01 17:08:54
如何获取进程的命令行
方法 | 描述 |
GetName | 以NULL作为参数,调用 GetModuleBaseName ,最后去掉扩展名 “.EXE” |
GetFileName | 以NULL作为参数,调用 GetModuleFileNameEx |
GetMainWindowHandle | 参见GetMainWindowHandle |
GetMainWindowTitle | |
GetParentProcessID | 用ProcessBasicInformation作为参数调用NtQueryInformationProcess |
GetKERNELHandleCount | 用ProcessHandleCount作为参数调用NtQueryInformationProcess |
GetUSERHandleCount | 用GR_USEROBJECTS作为参数调用GetGuiResources |
GetGDIHandleCount | 用GR_GDIOBJECTS作为参数调用GetGuiResources |
GetWorkingSet | 调用GetProcessMemoryInfo |
GetCmdLine | 参见GetProcessCmdLine |
GetOwner | 参见GetProcessOwner的细节 |
GetSessionID | ProcessIdToSessionId (参见对快速用户转换的讨论部分——Windows XP的一个新特性) |
GetModuleList | CModuleList是一个对EnumProcessModules 和GetModuleFileNameEx的打包类 |
GetChildrenCount 以及子进程清单 | 要获取某个进程的子进程列表,目前还没这样的API(即便有也未公开)可供使用。但是,因为某个进程的父进程是已知的,所以将某个进程加到其父进程的子进程列表中不难(参见SetChildrenList的实现) |