Schreiben in eine Geöffnetet *:INI Datei



  • Hallo Leute,
    ich benutze das C++ API WritePrivateProfileString um in eine *.INI Datei etwas reinzuschreiben. Leider Funktioniert das nicht. Ich glaube ich kann Syntax fehler so ziemich ausschließen.
    Kann es das das es nicht Funktioniert weil die *ini zur Laufzeit geöffnet ist??
    Kann ich das ürgend wie Feststellen??
    Wenn ja, wie kann ich in eine Geöffnete *.INI Datei estwas reinschreiben?



  • Nunja, wenn jemand das WC für sich alleine beansprucht, dann kann da niemand anders drauf! Auch nicht, wenn er eigentlich der Besitzer des WCs is

    😉 uups bin ich heut gut drauf ... is wohl Freitag



  • Ich habe es mit anderen Dateien versucht die nicht besetzt sind.
    Es klappt trotzdem nicht.

    WritePrivateProfileString("common","EinPfad","d:\\lol\","test.ini");
    WritePrivateProfileString("common","Nochwas","2","test.ini");

    Mit diesen Codeteil versuche in der Datei test.ini in die Gruppe common etwas reinzuschreiben. Leider klappt es nicht. Gibt das API vielleicht eine Rückantwort ob alles gelaufen ist?? Was muss ich dann dazu einfügen??



  • Du musst den kompletten Pfad zu deiner *.ini Datei angeben!

    MSDN:
    If the lpFileName parameter does not contain a full path and file name for the file, WritePrivateProfileString searches the Windows directory for the file. If the file does not exist, this function creates the file in the Windows directory.

    If lpFileName contains a full path and file name and the file does not exist, WritePrivateProfileString creates the file. The specified directory must already exist.



  • Kuck mal in deiemw Windowsverzeichnis, da dürftest du deine Inis wiederfinden.

    Und schon mal was von GetLastError? Manchmal ganz sinnvoll, das aufzurufen umn zu kucken, ob alles glatt gelaufen ist und wenn nicht, was genau für ein Fehler auftrat.



  • GetLastError ist mir bisher noch nicht bekannt gewesen.
    Wie lautet den die Syntax dazu??

    variablenname=GetLastError



  • FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0, GetLastError(), 0, szBuffer, 
      sizeof(szBuffer), 0);
    MessageBox(hWnd, szBuffer, "Fehler", MB_ICONSTOP);
    

Anmelden zum Antworten