Zdravím,
snažím se vytvořit program, který se spustí a uloží své nastavení do externího souboru. Složka s programem je v "Program Files" V nastavení je i možnost spustit s OS (Run v registrech). Po té, co se program spustí, má přečíst externí soubor, kde je veškeré nastavení. A zde je problém. Když se program spustí se systémem, tak nemůže přečíst soubor s nastavením.
if(!(file = fopen("data.cfg", "rt")))
{
MessageBox(hwnd, "Could not open 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);
}
Zde se snažím přečíst soubor s nastavením. Když je program třeba na ploše, tak nemá problém a soubor přečte, jakmile ho ale dám do program files, tak číst nemůže a ani zapisovat. Zkoušel jsem programu nastavit, aby se spouštěl s administrátorskými právy, to sice mohl zapisovat a číst, ale zase se nespustil s OS z registrů.
file = fopen("data.cfg", "wt");
char *SaveToFile = new char[20];
sprintf(SaveToFile, "%s %s", "#KEYSTROKE", &KeyStroke);
fputs(SaveToFile, file);
Zde se zapisuje do souboru.
Už jsem zkusil vše, co mě napadlo, ale nedospěl jsem k ničemu použitelnému. Jako úplně záložní řešení mám vytvořit další exe soubor, který by se spouštěl se systémem a spouštěl by ten druhý program s admin právy.
Jestli vás něco napadne, tak bych byl moc rád.
Nebo jestli někdo ví, jak ukládat nastavení (nebo třeba bitmapy, zvuky atd...) přímo do exe souboru, tak bych byl ještě více nadšen :) Předem díky ;-)