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

C++ 无法获取windows中正在运行的进程的名称,c++,winapi,C++,Winapi,我只想在控制台上显示所有正在运行的进程 #包括 #包括 #包括 使用名称空间std; int main(){ PROCESSENTRY32 pe32; 句柄捕捉=CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS,0 ); if(snap==无效的\u句柄\u值){ cout您可能正在尝试将WCHAR*打印到std::cout。您可能需要std::wcout。通常,Windows(自2000/XP以来)使用Unicode/UTF-16。或者,使用a版本的AP

我只想在控制台上显示所有正在运行的进程

#包括
#包括
#包括
使用名称空间std;
int main(){
PROCESSENTRY32 pe32;
句柄捕捉=CreateToolhelp32Snapshot(
TH32CS_SNAPPROCESS,0
);
if(snap==无效的\u句柄\u值){

cout您可能正在尝试将
WCHAR*
打印到
std::cout
。您可能需要
std::wcout
。通常,Windows(自2000/XP以来)使用Unicode/UTF-16。

或者,使用
a
版本的API函数,
Process32FirstA()
Process32NextA()
,以匹配您对
std::cout
的使用。但是,是的,您应该只使用Unicode。否则,如果您使用基于
TCHAR
的API(就像OP的代码一样),那么请考虑这样做:
\ifdef Unicode std::ostream&tcout=std::wcout;\else std::ostream&tcout=std::cout;\endif