通过进程名获取进程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;
}
附上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;
}
相关文章推荐
- Visual Basic 通过PID获取进程文件路径
- 通过PID获取进程路径和进程名的两种方法
- 通过PID获取进程名
- 通过进程PID获取 HWND
- 通过PID获取进程路径和进程名的两种方法
- cmd下获取指定进程名的pid号,并通过taskkill结束该进程
- 通过PID获取进程路径的几种方法
- Atitit,通过pid获取进程文件路径 java php c#.net版本大总结
- 通过PID获取进程相关信息,如cmdline
- 通过PID获取进程路径和进程名的两种方法
- 通过获取系统进程快照获取进程pid以及杀进程(win下获取进程名和linux下获取进程路径)
- Atitit,通过pid获取进程文件路径 java php c#.net版本大总结
- shell通过端口号获取PID(进程号)
- 通过pid获取进程名和通过进程名获取pid
- Atitit,通过pid获取进程文件路径 java php c#.net版本大总结
- 通过进程名获取进程PID
- 如何通过进程pid获取进程名、可执行文件的名称
- 通过PID获取进程路径
- android5.1.1通过getRunningServices获取当前运行的pid,进程名等
- 在内核态通过PID获取进程名!!