0
点赞
收藏
分享

微信扫一扫

GetProcessIDByName

代码小姐 2022-05-20 阅读 25
int GetProcessIDByName(char* pname)

{

HANDLE SnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

SHFILEINFO shSmall;

BOOL Status=FALSE;

PROCESSENTRY32 ProcessInfo;//声明进程信息变量

DWORD pid=0;

if(SnapShot==NULL)

{

return -1;

}



ProcessInfo.dwSize=sizeof(ProcessInfo);//设置ProcessInfo的大小

//返回系统中第一个进程的信息

Status=Process32First(SnapShot,&ProcessInfo);


while(Status)

{

//获取进程文件信息

SHGetFileInfo(ProcessInfo.szExeFile,0,&shSmall,

sizeof(shSmall),SHGFI_ICON|SHGFI_SMALLICON);

//在列表控件中添加映像名称

if (StrStrI(ProcessInfo.szExeFile,pname)!=NULL)

{

pid=ProcessInfo.th32ProcessID;

break;

}

//获取下一个进程的信息

Status=Process32Next(SnapShot,&ProcessInfo);


}

return pid;

}
举报
0 条评论