我是这样写的
//定义PROCESSENTRY32结构PROCESSENTRY32 pe;pe.dwSize = sizeof(pe); HANDLE hProcessSnap;//所有进程快照hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
BOOL bRet;//遍历进程快照,轮流显示每个进程的信息bRet = Process32First(hProcessSnap,&pe);if(bRet){//pe.szExeFile保存的值为进程对应的可执行文件名if(strcmp(pe.szExeFile,"abvc.exe") ==0) { ShowMessage("ok");}
else
{
ShowMessage("false"); }
}
但是不对啊,老是false,还有就是如果判断两个以上进程呢?我用or好像也不对
//定义PROCESSENTRY32结构PROCESSENTRY32 pe;pe.dwSize = sizeof(pe); HANDLE hProcessSnap;//所有进程快照hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
BOOL bRet;//遍历进程快照,轮流显示每个进程的信息bRet = Process32First(hProcessSnap,&pe);if(bRet){//pe.szExeFile保存的值为进程对应的可执行文件名if(strcmp(pe.szExeFile,"abvc.exe") ==0) { ShowMessage("ok");}
else
{
ShowMessage("false"); }
}
但是不对啊,老是false,还有就是如果判断两个以上进程呢?我用or好像也不对
pe.szExeFile
是什么样子的,是否带路径。
(TH32CS_SNAPPROCESS,NULL); PROCESSENTRY32 pe;
pe.dwSize = sizeof(PROCESSENTRY32); Process32First(hSnapshot,&pe); do
{
if(strcmp(pe.szExeFile,"qq.exe")==0)
{
ShowMessage("ok");
}
}
while(Process32Next(hSnapshot,&pe)==TRUE); CloseHandle (hSnapshot);
HANDLE hSnapshot = NULL;
hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,NULL);
PROCESSENTRY32 pe;
pe.dwSize = sizeof(PROCESSENTRY32);
Process32First(hSnapshot,&pe);
do
{
if(strcmp(pe.szExeFile,"qq.exe")==0)
{
ShowMessage("ok");//建议楼主将pe.szExeFile显示出来,如:
ShowMessage(pe.szExeFile);
}
}while(Process32Next(hSnapshot,&pe)==TRUE);
CloseHandle (hSnapshot);