您的位置:首页 > 其它

通过进程名获取进程PID

2009-07-29 06:25 253 查看
/*用CreateToolhelp32Snapshot进行对系统所有进程进行快照,然后利用Process32First取得第一个进程句柄,然后把得到的PROCESSENTRY32结构体中的szExeFile就是进程名进行比较,利用Process32Next进行循环比较,具体用法看msdn,就可以得到进程句柄了,,,

附上C/C++代码:*/

#include<iostream>

#include<windows.h>

#include<Tlhelp32.h>

using namespace std;

DWORD GetProcessID(char *FileName)

{

HANDLE myhProcess;

PROCESSENTRY32 mype;
mype.dwSize = sizeof(PROCESSENTRY32);

BOOL mybRet;

//进行进程快照

myhProcess=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); //TH32CS_SNAPPROCESS快照所有进程

//开始进程查找

mybRet=Process32First(myhProcess,&mype);
//循环比较,得出ProcessID

while(mybRet)

{

if(strcmp(FileName,mype.szExeFile)==0)

return mype.th32ProcessID;

else

mybRet=Process32Next(myhProcess,&mype);

}

return 0;

}

int main(){

cout<<GetProcessID("QQ.exe"); //通过进程名比较

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: