- 正如@jkb 提到的,使用
std::wstring;
- 使用
std::stringstream.(或任何其他流类)
此外,您的样本还存在其他问题。如果您不希望输出文本为一行且难以阅读,则需要将ES_MULTILINE | ES_AUTOVSCROLL 的Exstyle 添加到您的编辑控件中,并使用"\r\n" 将字符串连接到Wrap text。强>
1)。示例:
HWND listProc = CreateWindowEx(0, L"Edit", L"", WS_VISIBLE | WS_CHILD | WS_VSCROLL | WS_HSCROLL| ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL,
0, 0, 100, 300, hWnd, NULL, NULL, NULL);
HANDLE procSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
std::wstring procList;
PROCESSENTRY32 procEntry;
procEntry.dwSize = sizeof(PROCESSENTRY32);
Process32First(procSnap, &procEntry);
procList += procEntry.szExeFile;
procList += L"\r\n";
while (Process32Next(procSnap, &procEntry))
{
procList += procEntry.szExeFile;
procList += L"\r\n";
}
SetWindowText(listProc, procList.c_str());
CloseHandle(procSnap);
2)。示例:
HWND listProc = CreateWindowEx(0, L"Edit", L"", WS_VISIBLE | WS_CHILD | WS_VSCROLL | WS_HSCROLL| ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL,
0, 0, 100, 300, process, NULL, NULL, NULL);
HANDLE procSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
std::wstringstream procList;
PROCESSENTRY32 procEntry;
procEntry.dwSize = sizeof(PROCESSENTRY32);
Process32First(procSnap, &procEntry);
procList += procEntry.szExeFile;
procList += L"\r\n";
while (Process32Next(procSnap, &procEntry))
{
procList << procEntry.szExeFile;
procList << L"\r\n";
}
SetWindowText(listProc, procList.str().c_str());
CloseHandle(procSnap);