CString csTemp = _T(""), csPid;
CString str, str2;
HANDLE hSnapshot, mehandle;
str2 =_T( "smss.exe");
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 pe;
MODULEENTRY32 me;
pe.dwSize = sizeof(PROCESSENTRY32);
Process32First(hSnapshot, &pe);
do
{
str.Format(_T("%s"), pe.szExeFile);
if (_tcscmp(str, str2) == 0)/加入了这个判断后就会路径乱码,名和PID都能正常 显示.
{
break;
}
}while (Process32Next(hSnapshot, &pe));
mehandle = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pe.th32ProcessID);
me.dwSize = sizeof(MODULEENTRY32);
Module32First(mehandle, &me);
csPid.Format(_T("%d"), pe.th32ProcessID);
//if (pe.th32ProcessID == 0)
//{
// csTemp = (csTemp + pe.szExeFile + "\t" + csPid + _T("\tSystem") + _T("\r\n"));
//}
//else
//{
csTemp = (csTemp + pe.szExeFile + "\t" + csPid + _T("\t") + me.szExePath + _T("\r\n"));
//}
CloseHandle(mehandle);
MessageBox( csTemp);
CloseHandle(hSnapshot);

乱码了
不加入判断就是全都显示就能正常显示出来..
