C++ 如何获取指定 进程名 的 进程ID ?如:获取进程列表中 360tray.exe 的进程ID···
C++如何获取指定进程名的进程ID?如:获取进程列表中360tray.exe的进程ID···不需要编程,我只需要API的调用过程,简单讲下即可··...
C++ 如何获取指定 进程名 的 进程ID ?如:获取进程列表中 360tray.exe 的进程ID···
不需要编程,我只需要API的调用过程,简单讲下即可·· 展开
不需要编程,我只需要API的调用过程,简单讲下即可·· 展开
2个回答
展开全部
没事做,写个详细代码给你吧
#include<windows.h>
#include<tlhelp32.h>//声明快照函数的头文件
int main(int argc,char *argv[])
{
PROCESSENTRY32 pe32;
//在使用这个结构之前,先设置它的大小
pe32.dwSize=sizeof(pe32);
//给系统内的所有进程拍一个快照
HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
//遍历进程快照,轮流显示每个进程的信息
BOOL bMore=::Process32First(hProcessSnap,&pe32);
while(bMore)
{
if(strcmp("abc.exe",pe32.szExeFile)==0)//如果找到进程名为abc.exe
{
HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID);//获取句柄
/*这里已经打开那个进程的句柄了*/ }
bMore=::Process32Next(hProcessSnap,&pe32);//寻找下一个
}
return 0;
}
#include<windows.h>
#include<tlhelp32.h>//声明快照函数的头文件
int main(int argc,char *argv[])
{
PROCESSENTRY32 pe32;
//在使用这个结构之前,先设置它的大小
pe32.dwSize=sizeof(pe32);
//给系统内的所有进程拍一个快照
HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
//遍历进程快照,轮流显示每个进程的信息
BOOL bMore=::Process32First(hProcessSnap,&pe32);
while(bMore)
{
if(strcmp("abc.exe",pe32.szExeFile)==0)//如果找到进程名为abc.exe
{
HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID);//获取句柄
/*这里已经打开那个进程的句柄了*/ }
bMore=::Process32Next(hProcessSnap,&pe32);//寻找下一个
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
PROCESSENTRY32 pe;
pe.dwSize=sizeof(PROCESSENTRY32);
Process32First(hSnapshot, &pe);
判断pe.szExeFile, 获取pe.th32ProcessID
没找到就继续调用Process32Next(Snapshot, &pe);
PROCESSENTRY32 pe;
pe.dwSize=sizeof(PROCESSENTRY32);
Process32First(hSnapshot, &pe);
判断pe.szExeFile, 获取pe.th32ProcessID
没找到就继续调用Process32Next(Snapshot, &pe);
更多追问追答
追问
其实我的目的就是想知道是应该用哪个API调用 “创建进程快照”这个API,还是不理解。
追答
不明白这个追问啊
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询