我希望我的程序读取配置文件,这是右边的"exe"文件。这工作正常,但是当程序从注册表(HKEY_CURRENT_USER)中的运行文件夹系统启动时,它根本无法读取文件。exe文件和配置文件在"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);
}
任何帮助都会很感激。
您应该使用GetModuleFileName()并从中提取文件夹信息