Расположение пути приложения в MS windows - PullRequest
1 голос
/ 08 июля 2010

Где я должен хранить папку установки приложения, чтобы приложение отправляло его на архив?

Ответы [ 5 ]

3 голосов
/ 08 июля 2010

Я считаю, что вам нужна функция 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 голос
/ 08 июля 2010

Вы можете использовать реестр для хранения установочных папок.

0 голосов
/ 08 июля 2010

в реестре. В частности, под HKEY_LOCAL_MACHINE\SOFTWARE\YourCompanyName\YourApplicationName\, если вы установили приложение для всех пользователей (например, в \ Program Files), и под HKEY_CURRENT_USER\SOFTWARE\YourCompanyName\YourApplicationName\, если вы установили его только для одного пользователя.

0 голосов
/ 08 июля 2010

Папка ApplicationData, даже не доступ администратора, может помочь получить доступ к данным установки. используйте SHGetSpecialFolderPath с CISDL CSIDL_APPDATA

0 голосов
/ 08 июля 2010

:: GetModuleFileName (NULL, out_lpPathName, in_size) даст вам полный путь к вашему исполняемому файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...