怎样编程获取windows进程信息?

解决方案 »

  1.   


    //////////////////////////// 枚举进程 //////////////////////////////////
    PROCESSENTRY32 info={sizeof(PROCESSENTRY32)};
        MODULEENTRY32 minfo={sizeof(MODULEENTRY32)};
        HANDLE hProcess=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
        BOOL bReport=Process32First(hProcess,&info); int cnt = 0;
        while(bReport)
        {
            HANDLE hModule;
            
            hModule=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,info.th32ProcessID);
            Module32First(hModule, &minfo); 
            
            //MessageBox(NULL,info.szExeFile,0/*szExePath*/,NULL);
    printf("%d: %s\t%s\n", cnt, info.szExeFile, minfo.szExePath );
    cnt ++;
            
            bReport=Process32Next(hProcess, &info);   
        }
    /////////////////////////////////////////////////////////////////////////////////
      

  2.   

    能不能像windows任务管理器那样获得进程信息啊?
      

  3.   

    多种方法呀.
    1.CreateToolhelp32Snapshot
    2.PSAPI
    3.NtQuerySystemInformation()
    4.WMI
    5.直接枚举系统句柄再读进程内存
    6..............
      

  4.   

    Google ==> [VC枚举进程]