繁体   English   中英

搜索.exe的路径

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM