请教为什么小弟我用if(pe.szExeFile=="taskmgr.exe")判断是否有任务管理器的进程但不行呢

请问为什么我用if(pe.szExeFile=="taskmgr.exe")判断是否有任务管理器的进程但不行呢?
pe是一个PROCESSENTRY32结构体,我用Process32First(hSnap,&pe)和Process32Next(hSnap,&pe)不断依次取出每个进程的信息并用pe接收,每次循环都用if(pe.szExeFile== "taskmgr.exe ")作出判断,如果判断出有任务管理器的进程则作出相应的处理。但不知道为什么即使当前存在taskmgr.exe进程但用以上语句依然进不了if块中。如果换成if(pe.szExeFile== "notepad.exe ")也同样检测不到有记事本进程的存在,即使记事本已经被打开了。在调试运行下我能清楚看见在某次循环里pe.szExeFile的值确实就是 "taskmgr.exe ",但就是跳不进去if块里面,我真的百思不得其解。希望有朋友能为我指点迷津,谢谢!!

以下是不断检测进程的线程函数的代码:
DWORD   WINAPI   ThrdFunc(LPVOID   lpParameter)
{
HANDLE   hSnap;
PROCESSENTRY32   pe;
BOOL   bNext;
HANDLE   hProcess;
BOOL   bSuccess;
DWORD   *pExitCode=NULL;
hSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
pe.dwSize=sizeof(PROCESSENTRY32);
while(TRUE)
{
bNext=Process32First(hSnap,&pe);
while(bNext)
{
if(pe.szExeFile== "taskmgr.exe ")
{
((CFrameWnd*)(AfxGetApp()-> m_pMainWnd))-> MessageBox( "找到你啦! ");
hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,pe.th32ProcessID);
bSuccess=GetExitCodeProcess(hProcess,pExitCode);
bSuccess=TerminateProcess(hProcess,*pExitCode);
}
bNext=Process32Next(hSnap,&pe);
}
}
return   0;
}

------解决方案--------------------
if(pe.szExeFile== "taskmgr.exe ")

改成if(strcmp(pe.szExeFile, "Taskmgr.exe ")==0)

LZ学什么语言来了?