开发者

Application path location in MS windows

Where should I store the application installation folder for application to reffer ? 开发者_StackOverflow社区


I believe what you're looking for is the GetModuleFileName function, which you can use like so:

// 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

This will work regardless of the current working directory and in general, this is how I do all "relative path" stuff (that is, I never actually use relative paths, they're always absolute paths, based off the value returned from the function above).


You can use the registry for storing installation folders.


::GetModuleFileName(NULL, out_lpPathName, in_size) will give you full path of your executable file.


ApplicationData folder, even not admin access can help to access you install data. use SHGetSpecialFolderPath with CISDL CSIDL_APPDATA


In the registry. To be specific, under HKEY_LOCAL_MACHINE\SOFTWARE\YourCompanyName\YourApplicationName\ if you installed your app for all users (i.e. in \Program Files), and under HKEY_CURRENT_USER\SOFTWARE\YourCompanyName\YourApplicationName\ if you installed it for a single user only.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜