c++如何获取进程名

avatar
作者
猴君
阅读量:0

在 C++ 中,可以使用 Windows API 函数 GetModuleFileName 来获取当前进程的模块文件名(包括路径和文件名)

#include<iostream> #include<windows.h> #include<string>  std::string GetProcessName() {     char buffer[MAX_PATH];     GetModuleFileName(NULL, buffer, MAX_PATH);     std::string processPath = buffer;     size_t lastSlash = processPath.find_last_of("\\/");     if (lastSlash != std::string::npos) {         return processPath.substr(lastSlash + 1);     } else {         return processPath;     } }  int main() {     std::string processName = GetProcessName();     std::cout << "Current process name: "<< processName<< std::endl;     return 0; } 

这个示例代码定义了一个名为 GetProcessName 的函数,该函数使用 GetModuleFileName 函数获取当前进程的模块文件名。然后,它从路径中提取文件名并返回。在 main 函数中,我们调用 GetProcessName 函数并输出结果。

请注意,这个示例仅适用于 Windows 平台。如果你需要在其他平台上实现类似的功能,你可能需要使用不同的方法。例如,在 Linux 上,你可以使用 /proc/self/exe 符号链接来获取当前进程的可执行文件路径。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!