比较进程名总失败,散分求助!
比较进程名总失败,代码片段如下:
while(bRet)
{
//pe.szExeFile保存的值为进程对应的可执行文件名
if(strcmp(pe.szExeFile,"QQ.exe") ==0)
{
BOOL bRet;
//枚举所有窗口,把进程PID传给回调函数EnumAllWindowsProc
bRet = EnumWindows(EnumAllWindowsProc,(LPARAM)pe.th32ProcessID);
if(bRet == FALSE)
{
MessageBox(NULL,TEXT("枚举所有顶层窗口失败!"), TEXT("失败"),0);
return -1;
}
//枚举登陆窗口的所有子窗口,执行上面的函数后就会得到登陆窗口的句柄了
bRet = EnumChildWindows(hLoginWindow,EnumChildWindowsProc,NULL);
if(bRet == FALSE)
{
MessageBox(NULL,TEXT("枚举子窗口失败!"), TEXT("失败"),0);
return -1;
}
MessageBox(NULL,TEXT("枚举窗口成功!"), TEXT("成功"),0); //
}
bRet = Process32Next(hProcessSnap,&pe);
}
我认为问题是出在:if(strcmp(pe.szExeFile,"QQ.exe") ==0)这一句,strcmp好像只能用在DOS窗口下,而我的程序是窗体的.