简体   繁体   English

无法获取 windows 中正在运行的进程的名称

[英]Cannot get name of running processes in windows

I just want to display all running processes on the console.我只想在控制台上显示所有正在运行的进程。

#include <iostream>
#include <windows.h>
#include <tlhelp32.h>

using namespace std;

int main(){
    PROCESSENTRY32 pe32;
    HANDLE snap = CreateToolhelp32Snapshot(
        TH32CS_SNAPPROCESS, 0
    );

    if(snap == INVALID_HANDLE_VALUE) {
        cout << "Encountered INVALID_HANDLE_VALUE\n";
        return 1;
    }

    pe32.dwSize = sizeof(PROCESSENTRY32);

    Process32First(snap, &pe32);

    do{
        cout << pe32.szExeFile << "\n";
    } while(Process32Next(snap, &pe32));

    return 0;
}

All I get is a bunch of 0060F810 .我得到的只是一堆0060F810 What am I doing wrong?我究竟做错了什么?

You're probably trying to print a WCHAR* to std::cout .您可能正在尝试将WCHAR*打印到std::cout You might need std::wcout .您可能需要std::wcout In general, Windows (since 2000/XP) uses Unicode/UTF-16.通常,Windows(自 2000/XP 起)使用 Unicode/UTF-16。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM