代码之家  ›  专栏  ›  技术社区  ›  John MacIntyre

如何从本地Win32 C++应用程序获取当前实例的可执行文件名?[复制品]

  •  17
  • John MacIntyre  · 技术社区  · 14 年前

    可能重复:
    How to get the application executable name in Windows (C++ Win32 or C++/CLI)?

    如何从我的本地Win32 C++应用程序中获取当前实例的文件名和路径?

    例如,如果我的申请是 C:\projects\testapps\getapppath.exe 它能分辨出 C:\projects\testapps\getapppath.exe

    5 回复  |  直到 7 年前
        1
  •  33
  •   Community clintgh    7 年前

    GetModuleFileName

    TCHAR szFileName[MAX_PATH + 1];
    
    GetModuleFileName(NULL, szFileName, MAX_PATH + 1)
    
        2
  •  3
  •   Steve Townsend    14 年前

    GetCurrentProcess QueryFullProcessImageName

    the docs

    当前进程的句柄。

    检索主服务器的名称 远程进程的可执行模块 在Win32路径格式中,使用 queryfullprocessimagename函数。

        3
  •  3
  •   Thanatos    14 年前
        4
  •  1
  •   Ed.C    14 年前

    更新:仅适用于控制台应用程序!

    程序的路径作为第一个参数传递,它存储在 argv[0] main(argc, argv[]) 功能。

        5
  •  0
  •   egrunin    14 年前

    测试:

    int _tmain(int argc, _TCHAR *argv[])
    {
        _tprintf(L"%s", argv[0]);
        return 0;
    }
    

    打印完整路径。