[英]Search for path of .exe
因此,我正在寻找一段代码,使我可以搜索正在其中执行的文件的路径。例如,我正在做一个自动运行程序以用于Pendrive(示例),但是我不知道是否它最终将以D:,F:,G:或其他形式结束,因此程序将搜索其自己的路径,并根据使用“ if”语句找到的路径打开另一个文件。
这是我的想法:
#include <stdlib.h>
#include <iostream>
using namespace std;
int main () {
// Insert 'search path' code and needed variables here.
if (-ThePath- == "d:\\AutoRun.exe")
{
system ("d:\\MyFolder\\OtherProgram.exe");
}
else if (-ThePath- == "f:\\AutoRun.exe")
{
system ("f:\\MyFolder\\OtherProgram.exe");
}
else if (-ThePath- == "g:\\AutoRun.exe")
{
system ("g:\\MyFolder\\OtherProgram.exe");
}
else
{
cout << "An error ocurred.\n";
cout << "Press enter to exit...\n";
cin.get();
};
return 0;
}
有什么办法可以做到吗?
GetModuleFileName
: 此处的文档
编辑-Pedro,Microsoft的示例代码处理了很多事情。 要获取文件路径,您需要做的是:
TCHAR szPath[MAX_PATH];
if( !GetModuleFileName( NULL, szPath, MAX_PATH ) ) {
// handle error in GetModuleFileName
} else {
// now, szPath contains file path
};
在标准C ++中,argv [0]包含可执行文件的名称。 对于以常规方式调用的程序,这将是Windows上可执行文件的路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.