MS窗口中的应用程序路径位置

时间:2010-07-08 04:20:49

标签: c++ windows path

我应该在哪里存储应用程序安装文件夹以供参考?

5 个答案:

答案 0 :(得分:3)

我相信您正在寻找的是GetModuleFileName功能,您可以这样使用:

// get the full path to the current executable
wchar_t fullPath[MAX_PATH];
GetModuleFileName(NULL, fullPath, MAX_PATH);

// cut the string at the last slash, because we just want the directory
// not the actual executeable file name. 
TCHAR *lastSlash = wcsrchr(fullPath, L'\\');
lastSlash = 0;

// directory where the executable is location is fullPath

无论当前的工作目录如何,这都会有效。一般来说,这就是我做所有“相对路径”的东西(也就是说,我从来没有真正使用相对路径,它们总是绝对的路径,基于上述函数返回的值。)

答案 1 :(得分:1)

您可以使用注册表存储安装文件夹。

答案 2 :(得分:0)

:: GetModuleFileName(NULL,out_lpPathName,in_size)将为您提供可执行文件的完整路径。

答案 3 :(得分:0)

ApplicationData文件夹,即使不是管理员访问权限,也可以帮助您访问安装数据。使用 SHGetSpecialFolderPath 与CISDL CSIDL_APPDATA

答案 4 :(得分:0)

在注册表中。具体而言,如果您为所有用户(例如在\ Program Files中)安装了应用程序,则在HKEY_LOCAL_MACHINE\SOFTWARE\YourCompanyName\YourApplicationName\下;如果仅为单个用户安装了应用程序,则在HKEY_CURRENT_USER\SOFTWARE\YourCompanyName\YourApplicationName\下。