Windows编程 - 显示系统进程

主要:

#include <tlhelp32.h> // 声明快照函数的头文件

PROCESSENTRY32 pe32;
    // 在使用这个结构之前,先设置它的大小
   pe32.dwSize = sizeof(pe32);

HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

 

#include  " stdafx.h "
#include 
< stdlib.h >
#include 
< windows.h >  
#include 
< tlhelp32.h >   //  声明快照函数的头文件

int  main( int  argc,  char *  argv[])
{
    PROCESSENTRY32 pe32;
    
// 在使用这个结构之前,先设置它的大小
    pe32.dwSize = sizeof(pe32); 
 
    
// 给系统内的所有进程拍一个快照
    HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    
    system(
"chcp 936");
    
if(hProcessSnap == INVALID_HANDLE_VALUE)
    
{
        printf(
" CreateToolhelp32Snapshot调用失败! \n");
        
return -1;
    }
 
    
// 遍历进程快照,轮流显示每个进程的信息
    BOOL bMore = ::Process32First(hProcessSnap, &pe32);
    
while(bMore)
    
{
        printf(
" 进程名:%s \n", pe32.szExeFile);
        printf(
" 进程ID :%u \n\n", pe32.th32ProcessID);

        bMore 
= ::Process32Next(hProcessSnap, &pe32);
    }


    
// 不要忘记清除掉snapshot对象
    ::CloseHandle(hProcessSnap);
    
return 0;
}


你可能感兴趣的:(windows)