c++ - 使用 TlHelp32 库时,如何将正在运行的进程列表打印到控制台?
问题描述
想象一下这个函数:
void OutputAllRunningProcessNames()
{
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 procEntry;
procEntry.dwSize = sizeof(procEntry);
Process32First(hSnap, &procEntry);
do
{
std::cout << *(const char*)procEntry.szExeFile << std::endl;
} while (Process32Next(hSnap, &procEntry));
return;
}
我希望这会给我一个所有进程名称的列表,但是我只得到每个进程名称的第一个字母。我正在打印 procEntry.szExeFile,转换为 const char* 并取消引用,我如何告诉机器继续读取 szExeFile 指向的地址,直到它到达空终止符?谢谢。
解决方案
停止取消引用指针并将指针传递给std::cout
.
std::cout << (const char*)procEntry.szExeFile << std::endl;
推荐阅读
- c# - C# 覆盖实体框架 Database.ExecuteSqlCommand
- select - 使用 DataTables 在选择中插入复选框时出现问题
- git - 在 Powershell 中返回 Git 提交 ID
- python - Django 显示链接到登录的特定用户的帖子
- python - 从具有不同环境的另一个脚本运行具有自己环境的脚本(Windows 10)
- c# - C# Windows 窗体如何获取 ListView 项
- uber-api - Uber Eats API 范围
- swift - 如何在 Swift 中约束它位于其之上的项目
- kubernetes - 注解 cert-manager.io/cluster-issuer: acme-issuer 是否足以生成 TLS 证书?
- sql-server - SQL Server 多用户