21xrx.com
2024-12-23 01:20:15 Monday
登录
文章检索 我的文章 写文章
C++获取进程路径方法
2023-06-26 22:21:29 深夜i     --     --
C++ 获取 进程路径 方法

在C++编程中,获取进程路径是很重要的一个功能。本文介绍了两种方法来获取进程路径。

第一种方法是使用GetModuleFileName函数。GetModuleFileName函数用于获取指定进程或动态链接库的完整路径。它需要两个参数:要获取路径的模块句柄和一个缓冲区。模块句柄通常是NULL,表示获取调用进程的路径。缓冲区用于存储获取到的路径。通常,我们使用一个名为MAX_PATH的常量来定义缓冲区的大小。

下面是使用GetModuleFileName函数获取进程路径的代码示例:

#include

#include

#include

using namespace std;

int main()

{

  char exePath[MAX_PATH];

  GetModuleFileName(NULL, exePath, MAX_PATH);

  std::cout << "Executable path: " << exePath << endl;

  return 0;

}

第二种方法是使用GetCommandLine函数。GetCommandLine函数用于获取用于启动调用进程的命令行。它返回一个指向命令行的指针。我们可以使用字符串处理函数来提取命令行中的执行文件路径。通常,执行文件路径是命令行字符串的第一个参数。

下面是使用GetCommandLine函数获取进程路径的代码示例:

#include

#include

#include

using namespace std;

int main()

{

  string cmdLine = GetCommandLine();

  size_t pos = cmdLine.find_first_of(" ");

  string exePath = cmdLine.substr(0, pos);

  std::cout << "Executable path: " << exePath << endl;

  return 0;

}

总的来说,获取进程路径的方法非常简单,我们只需要调用相应的函数就可以了。其中,GetModuleFileName函数更加简单,但是GetCommandLine函数可以同时获取命令行参数,也是一个比较有用的函数。在编写C++程序时,准确获取进程路径是非常有用的,尤其是在程序需要读写文件或者调用其他进程时。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复