m0_51908373 2021-05-11 00:04 采纳率: 100%
浏览 40
已采纳

遍历进程PID显示是乱码

BOOL TraversalProcess(HWND hListProcess)
{
	HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
	if (INVALID_HANDLE_VALUE == hSnapshot)
	{
		return FALSE;
	}
	PROCESSENTRY32 pi;
	pi.dwSize = sizeof(PROCESSENTRY32); //第一次使用必须初始化成员
	BOOL bRet = Process32First(hSnapshot, &pi);


	LV_ITEM vitem;
	memset(&vitem, 0, sizeof(LV_ITEM));
	vitem.mask = LVIF_TEXT;
	int i = 0;
	while (bRet)
	{

		int j = 0;

		vitem.pszText = (LPSTR)pi.szExeFile;    //值                
		vitem.iItem = i;                //行                
		vitem.iSubItem = j;                //列
		//ListView_InsertItem(hListProcess, &vitem);               
		SendMessage(hListProcess, LVM_INSERTITEM, 0, (DWORD)&vitem);                
		j++;
		wsprintf(szString, (LPSTR)&pi.th32ProcessID, 0);

		//vitem.pszText = (LPSTR)TEXT("你好");
		vitem.pszText = szString;//(LPSTR)&pi.th32ProcessID;    //值                
		vitem.iItem = i;                //行                
		vitem.iSubItem = j;                //列
		 
		ListView_SetItem(hListProcess, &vitem);
		//SendMessage(hListProcess, LVM_SETITEM, 0, (DWORD)&vitem);
		i++; 
		bRet = Process32Next(hSnapshot, &pi);
	}
	return TRUE;
}

  • 写回答

4条回答 默认 最新

  • 快乐鹦鹉 2021-05-11 05:20
    关注

    调试看一下szString的值是什么

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?