1

考虑命令行参数:

D:\work\test.exe -a -p

我的 C++ 应用程序的 main() 接收参数如下:

  1. 视窗 10

    argc = 3  
    
    argv[0] = "D:\work\test.exe"
    
    argv[1] = "-a" 
    
    argv[2] = "-p"
    
  2. 视窗

    argv = 3    
    
    argv[0] = "test.exe"
    
    argv[1] = "-a"   
    
    argv[2] = "-p"
    

参数 argv[0] 的解析方式不同。我的应用程序需要它们相同。
有没有办法在 Windows XP 中获得整个路径?
我已经尝试过main 和 winmain,结果是一样的。

4

1 回答 1

0

您可以像这样确定应用程序的 .exe 文件的完整路径:

WCHAR *path = new WCHAR [32768]; // allow for long path names on Win 10
GetModuleFileNameW (NULL, path, 32768);
...
delete [] path;

文档

于 2019-01-03T11:18:49.817 回答