代码之家  ›  专栏  ›  技术社区  ›  Chris

在C++中获取目录

  •  1
  • Chris  · 技术社区  · 14 年前

    我有一个.cab文件,它作为安装程序进程的一部分在WindowsCE框上运行。驾驶室是用C++编写的。

    cab文件作为升级过程的一部分运行了两次,但在不同的时间在不同的位置运行。如何才能从C++中执行.cb文件从(执行目录)中执行什么目录?

    谢谢

    1 回复  |  直到 14 年前
        1
  •  4
  •   lornova    14 年前

    如果只使用“C++”,就意味着不使用Windows API,我不认为标准库有这样的功能。

    如果可以调用win32 API,则只需调用 GetModuleFileName() 以空为第一个参数,您将得到当前可执行文件的路径。

    现在,问题是:我们运行.cab,可执行文件是什么?从.cab或运行.cab的shell组件中提取的安装dll?

    你也可以试试 GetCommandLine() ,因为第一个条目应该是可执行路径/名称(它实际上是传递给 CreateProcess() 所以你不能百分之百地确定)。