Чтение файла при запуске системы из реестра [C ++]

Я хочу, чтобы моя программа прочитала файл конфигурации, который находится рядом с файлом «exe». Это работает правильно, но когда программа запускается из системной папки из системного реестра в реестре (HKEY_CURRENT_USER), она просто не может прочитать файл. Файл и файл конфигурации находятся в одной папке в «Program Files (x86)». Вот фрагмент кода, запускаемого при запуске программы:

    TCHAR szPath[MAX_PATH];
GetCurrentDirectory(MAX_PATH, szPath);
char filepath[MAX_PATH];
sprintf(filepath, "%s%s", szPath, "\\data.cfg");
if(!(file = fopen(filepath, "rt")))
{
MessageBox(hwnd, "Could not load config file", "ERROR", MB_OK);
}
else
{
fgets(ReadLine, 20, file);
sscanf(ReadLine, "#KEYSTROKE %s", &ReadChar);

fgets(ReadLine2, 20, file);
sscanf(ReadLine2, "#STARTUP %s", &ReadChar2);

fgets(ReadLine3, 20, file);
sscanf(ReadLine3, "#CTRL %s", &ReadChar3);

fclose(file);
}

Любая помощь будет оценена. Заранее спасибо.

0

Решение

Вы должны использовать GetModuleFileName () и извлеките информацию о папке оттуда.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]