珞珈山水BBS电脑网络程序人生 → 单文区文章阅读

单文区文章阅读 [返回]
发信人: Stravadivaly (老子就是机器人), 信区: Programm
标  题: 枚举系统进程问题
发信站: BBS 珞珈山水站 (Sun May 28 12:39:32 2006)

//枚举系统进程
DWORD processes[1024],needed;
if(!EnumProcesses(processes,sizeof(processes),&needed))
       return FALSE;

char szName[MAX_PATH]="<Unknown>";

DWORD actualProcessCount=needed/sizeof(DWORD);
    printf("PID   :  PROCESS\n");

for(DWORD i=0;i<actualProcessCount;i++){
    HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,
                                FALSE,processes[i]);
    if(hProcess){
       HMODULE hModule;
       DWORD needed1;

       if(EnumProcessModules(hProcess,&hModule,sizeof(hModule),&needed1)){
            GetModuleBaseName(hProcess,hModule,szName,sizeof(szName));
            printf("%6d  :  %s\n",processes[i],szName);
       }
    }
}

上面是用性能数据库枚举系统进程的一段代码,运行没问题,但是枚举的进程中没有

SYSTEM  和 SYSTEM IDEL PROCESS两个进程。而且在运行icesword 1.12en public 时


程序枚举的进程中没有icesword。用《windows核心编程》自带的ProcessInfo(用tlhelp
32.h

枚举)可以查到icesword进程,但是仍然没有 SYSTEM  和 SYSTEM IDEL PROCESS两个进
程。

我的问题是:

1。用 性能数据库 和 tlhelp的方法,是否不能枚举出注册成系统服务的进程?

2。如何能枚举出注册成系统服务的进程? 

--
是吗? 不是吗?  对吗? 不对吗? 傻吗?   ......   的确很傻.  就像" 树动风欲静, 日涌大山流".

※ 来源:·珞珈山水BBS站 http://bbs.whu.edu.cn·[FROM: 221.232.28.*]
[返回单文区目录]

武汉大学BBS 珞珈山水站 All rights reserved.
wForum , 页面执行时间:8.104毫秒