我应该在哪里存储应用程序安装文件夹以供参考?
答案 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\
下。