获得进程路径怎么会是乱码的.求指点....

tko2002 tko2002 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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);
乱码了

不加入判断就是全都显示就能正常显示出来..
...全文
评论 2
收藏 已收藏
分享
返回顶部
tko2002
C++ 语言 65,214 成员 250,514 内容