松鼠的博客

导航

CreateToolhelp32Snapshot应用实例

//--------------   以下的语句将进程ID映射为进程名   ----------------//   
    HANDLE hProcess;
    HANDLE hProcessSnap 
= NULL;
    hProcessSnap 
= CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//0表示当前进程
    if(hProcessSnap == (HANDLE)-1)
    {
        
return;
    }
    CString   cspid;   
    PROCESSENTRY32   pe32
={0};
    pe32.dwSize
=sizeof(PROCESSENTRY32);
    
if(Process32First(hProcessSnap,&pe32))
    {
        
do
        {
            
for(int   i   =   0;   i   <   iterm;   i++)
            {
                cspid   
=   m_ListCtrl1.GetItemText(i,4);
                
if(pe32.th32ProcessID   ==   (unsigned   long)atoi(cspid))
                {
                    m_ListCtrl1.SetItemText(i,
5,pe32.szExeFile);   //将进程名写入ListCtrl
                }
            }
        }
        
while(Process32Next(hProcessSnap,&pe32));
    }
    CloseHandle(hProcessSnap);

//-------------------   将进程ID映射为进程名   结束   -----------------//  
   
  其中pe32.szExeFile是进程名,用pe32.th32ProcessID可获得进程ID  
  要获得进程句柄的话,用OpenProcess就行了

posted on 2008-08-26 10:47  Xproer-松鼠  阅读(1124)  评论(0)    收藏  举报