2016-07-21 17 views
2

Ich arbeite an einer UWP-App, die auf einem Raspberry Pi ausgeführt werden soll. Ich muss Daten lesen, die in INI-Dateien gespeichert sind - ich weiß, dass Microsoft möchte, dass ich XML verwende, aber ich muss INI verwenden.Verwenden von GetPrivateProfileString von kernel32.dll

Ich habe erfolgreich GetPrivateProfileString (folgend: http://www.codeproject.com/Articles/1966/An-INI-file-handling-class-using-C) verwendet, um Werte aus einer Ini-Datei mit einem "Standard" C# -Projekt zu lesen.

Dies scheint jedoch nicht auf einem UWP C# -Projekt zu arbeiten. Ich habe keinen Fehler, einfach, dass nichts passiert, wenn ich versuche, mit den Funktionen von kernel32 zu lesen oder zu schreiben.

Was passiert? Ist es noch möglich, diese Funktionen in einer UWP-App zu verwenden? Wenn nicht, muss ich selbst eine Ini-Handling-Klasse schreiben?

Antwort

2

MSDN sagt:

Hinweis Diese Funktion ist mit 16-Bit- Windows-basierten Anwendungen nur für die Kompatibilität vorgesehen ist. Anwendungen sollten die Initialisierung Informationen in der Registrierung speichern.

Ich nehme an, dass die Funktion auf Ihrer Zielplattform nicht verfügbar ist. Sie müssen die INI-Datei selbst lesen und analysieren.

+0

Ich habe widersprüchliche Meinungen zu diesem Thema gesehen - eine Hälfte rät, diesen Kommentar zu ignorieren (Suche nur nach "C# read ini" bei Google, Sie werden nur kernel32.dll basierte Lösungen sehen), rät anderen zu vergessen diese Funktionen wegen des Kommentars. Ich würde gerne eine nicht veraltete Ini-API verwenden, wenn ich könnte –

+0

[Diese Seite] (https://msdn.microsoft.com/de-de/library/windows/desktop/mt186421%28v=vs.85%29. aspx? f = 255 & MSPPError = -2147217396) listet alle möglichen API-Funktionen für UWP-Apps auf. 'GetPrivateProfileString' ist nicht da, also musst du es selbst machen. – ventiseis

+0

Ich habe erfolgreich GetUsername von advapi32.dll (http://www.pinvoke.net/default.aspx/advapi32.getusername) verwendet, obwohl es dort nicht aufgeführt ist, aber das war wahrscheinlich eine seltene Ausnahme. Ich werde dann meinen eigenen Parser machen, mit Blackjack und Nutten. –