legongju.com
我们一直在努力
2025-01-11 19:51 | 星期六

c++如何获取进程名

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

#include
#include
#include

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 符号链接来获取当前进程的可执行文件路径。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/102462.html

相关推荐

  • c++和c#有什么区别

    c++和c#有什么区别

    C++ 和 C# 是两种不同的编程语言,它们在许多方面都有所不同。以下是一些主要的区别: 语法:C++ 的语法比 C# 更复杂,因为它支持多种编程范式(如过程式、面向对...

  • c#数据类型有哪几种

    c#数据类型有哪几种

    C# 是一种面向对象的编程语言,它包含了多种数据类型。以下是 C# 中常见的数据类型: 整数类型: sbyte:8 位有符号整数,范围从 -128 到 127。
    byte:8 位...

  • c#如何定义一个字符串数组

    c#如何定义一个字符串数组

    在C#中,您可以使用以下方法之一定义一个字符串数组: 使用string[]关键字声明一个字符串数组,并分配给它一个新的数组实例。例如: string[] myStringArray = n...

  • c#如何获取串口列表

    c#如何获取串口列表

    在C#中,你可以使用System.IO.Ports.SerialPort类来获取计算机上的串口列表
    using System;
    using System.IO.Ports; class Program
    { static void...

  • c++ map是线程安全的吗

    c++ map是线程安全的吗

    C++ 标准库中的 std::map 不是线程安全的。如果多个线程同时访问和修改一个 std::map 对象,可能会导致数据竞争和未定义行为。为了在多线程环境中安全地使用 std...

  • python如何调用打印机打印文件

    python如何调用打印机打印文件

    要使用Python调用打印机打印文件,您可以使用os和subprocess库。以下是一个简单的示例,展示了如何在Windows上使用Python打印文本文件:
    import os
    im...

  • python中print是什么

    python中print是什么

    在Python中,print是一个内置函数,用于将文本输出到控制台。它可以接受零个或多个参数,这些参数可以是字符串、整数、浮点数等类型的数据。当你调用print函数时...

  • python怎么打印空格

    python怎么打印空格

    在Python中,你可以使用print()函数来打印空格。这里有一些示例: 使用单引号或双引号包围空格: print(' ') # 打印一个空格
    print(" ") # 打印一个空格 使...