Speichern Sie die registry-Werte in WinCE die Verwendung einer C# - app
Arbeite ich auf einem WinCE 6.0-system mit einem touchscreen, der speichert seine Kalibrierdaten (x-y-Position, offset, etc.) in der system-registry (HKLM\HARDWARE\TOUCH). Ich bin nun platzieren Sie die cal-Werte in den registry-Schlüssel, setzen sich in das OS-image zu erstellen. Das funktioniert auch für den monitor, dass ich den original-cal-Werte aus, aber wenn ich laden Sie dieses Bild in ein anderes system mit einem anderen monitor, touchscreen Zeiger Lage ist (verständlicherweise) aus, da die beiden Monitore nicht die gleiche cal-Werte.
Mein problem ist, dass ich nicht weiß, wie man richtig speichern Sie die Werte in die Registrierung, so dass Sie bestehen bleiben nach einem power-Zyklus. Sehen Sie, ich kann Kalibrieren Sie den Bildschirm auf die zweite, aber die neuen Werte gibt es nur im flüchtigen Speicher. Ich schlug meinem Chef, dass wir einfach sagen unsere Kunden zu verlassen, die Kraft auf die Einheit zu jeder Zeit --, dass das nicht gut gehen über.
Ich brauche Ratschläge, wie Sie die neuen Konstanten in die registry ein, so dass wir Kalibrieren der Monitore einmal vor dem Versand an unsere Kunden, und nicht um separate OS-Bilder für jede Anlage, die wir bauen.
Einer C# - Methode, die funktioniert in den CE6.0 wäre hilfreich. Danke.
-Odbasta
InformationsquelleAutor odbasta | 2008-09-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, was Sie wahrscheinlich suchen, ist die Flush-Funktion der RegistryKey-Klasse. Dies ist normalerweise nicht nötig (die Registrierung ist faul-gespült standardmäßig), aber wenn der Strom ausgeschaltet ist auf dem Gerät, bevor das system eine chance hat, dies zu tun, werden die änderungen verworfen werden:
http://msdn.microsoft.com/en-us/library/microsoft.win32.registrykey.flush.aspx
Diese Funktion verfügbar ist .NET Compact Framework, version 2.0 und besser.
InformationsquelleAutor TheSmurf
Follow-up auf diese Frage:
Dank DannySmurf, Spülen der registry Schlüssel war letztendlich das, was getan werden musste. Allerdings gab es ein paar Schritte, die ich fehlte vor dem erreichen dieser Stufe. So, hier ist, was kam zum Vorschein:
Beim Umschalten auf eine hive-basierten registry-Struktur, die Sie benötigen, um sicherzustellen, dass die hive vorhanden ist, die auf einem nichtflüchtigen medium. Dies ist angegeben in der Plattform.reg-Datei:
Sobald das system.hv-Datei ist auf der Festplatte (CF-Karte in meinem Fall), die Werte in der Registrierung beibehalten wird, nachdem ein cold-boot. Beachten Sie, dass die system.hv-Datei enthält alle die HKLM Schlüssel.
Es ist auch wichtig zu beachten, dass alle Treiber, die initialisiert werden müssen beim Booten angegeben werden, die als solche im .reg-Dateien von der Lösung. Zum Beispiel, ich hatte, um sicherzustellen, dass die Festplatten-Treiber (PCMCIA) geladen werden, bevor versucht wird, Lesen Sie die system-Struktur-Datei aus. Der Weg, dies zu tun ist das hinzufügen einer Richtlinie in das folgende format, um die einzelnen Treiber init-Taste:
Dass, plus eine Menge Glück, ist über es.
InformationsquelleAutor odbasta
Wie ich verstanden habe, müssen Sie wissen, wie man einen Wert in die Registrierung während der Laufzeit. Ich hoffe, dass die codes Balg kann Ihnen helfen.
mithilfe von Microsoft.Win32;
InformationsquelleAutor