在C ++中获取执行目录

时间:2010-06-14 14:33:05

标签: c++ directory windows-ce

我有一个.CAB文件,它作为Windows CE机器上安装程序进程的一部分运行。 CAB是用C ++编写的。

CAB文件作为升级过程的一部分运行两次,但在不同时间在不同位置运行。如何才能使用C ++找出正在执行.CAB文件的目录(执行目录)?

由于

1 个答案:

答案 0 :(得分:4)

如果仅使用“C ++”,则表示不使用Windows API,我认为标准库不具备执行此功能的功能。

如果你可以调用Win32 API,你只需要调用GetModuleFileName()并将NULL作为第一个参数,然后你将得到当前可执行文件的路径。

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

您也可以尝试GetCommandLine(),因为第一个条目应该是可执行路径/名称(它实际上是传递给CreateProcess()的字符串,因此您无法100%确定它)