在VC中怎样列举系统中正在运行的所有进程

解决方案 »

  1.   

    BOOL EnumWindows(
      WNDENUMPROC lpEnumFunc,  // callback function
      LPARAM lParam            // application-defined value
    );
      

  2.   

    http://www.vckbase.com
    下载代码去
      

  3.   

    HANDLE hSnapshot;
    hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    PROCESSENTRY32 pe;
    Process32First(hSnapshot,&pe);
    do
    {

    HANDLE hProcess;
    hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,pe.th32ProcessID);
    if (hProcess)
    {
    }
    }
    while(Process32Next(hSnapshot,&pe));
    CloseHandle(hSnapshot);
      

  4.   

    HANDLE  hSysSnapshot = NULL;
    PROCESSENTRY32 proc;proc.dwSize = sizeof(proc);
    hSysSnapshot = CreateToolhelp32Snapshot ( TH32CS_SNAPPROCESS, 0 );
    if ( hSysSnapshot == (HANDLE)-1 )
        return 0;
    if ( Process32First ( hSysSnapshot, &proc ) )
    {
        proc.dwSize = sizeof(proc);
        do
        {
            printf ("%lu - %s\n", proc.th32ProcessID, proc.szExeFile );
        }
        while ( Process32Next ( hSysSnapshot, &proc ) );}
    CloseHandle ( hSysSnapshot );
      

  5.   

    win98和win2000下用toolhelp32 API, NT4下用psapi