Tips & Tricks zur Registry


Wie das "große" Windows auf dem Desktop-Rechner sichert auch Windows CE auf dem Handheld viele Einstellungen in einer zentralen Registrierungsdatenbank. An sich sind händische Änderungen der Registry-Einträge nicht vorgesehen, alle für den Benutzer relevanten Einstellungen sollten über grafische Frontends in der Systemsteuerung oder in Optionsdialogen der verschiedenen Anwendungsprogramme erreichbar sein. Tatsächlich gibt es aber eine ganze Reihe von Settings, die nur direkt in den zugehörigen Registry-Schlüsseln editiert werden können, oder die über Optionsdialoge nicht flexibel genug veränderbar sind.
Manuelle Eingriffe in die Registry durch den Benutzer erfordern ein geeignetes Tool. Für Geräte mit HPC 2.11/pro oder neuer bietet Microsoft selbst in den kostenlosen Power Toys einen Registry Editor an. Noch komfortabler und ebenfalls kostenlos sind zum einen PHM RegEdit, zum anderen Tascal RegEdit. Geeignet sind außerdem der Total Commander sowie der - allerdings kostenpflichtige - Resco Explorer 2003, beides eigentlich Dateimanager, in den aktuellen Versionen aber zusätzlich mit RegEdit-Modulen ausgestattet.
Manuelle Eingriffe in die Registry sind nicht ungefährlich, am Desktop-PC jedoch weitaus kritischer als am HandheldPC. Zum einen ist die Registrierungsdatenbank unter Windows CE deutlich schlanker, beinhaltet nur einen Bruchteil der Einträge, die sich am Windows-PC finden. Zum anderen ist ein fataler Fehler in der Registry durch einen Hardreset des Geräts mit anschließendem Restore des hoffentlich vorhandenen Backup vergleichsweise schnell und einfach zu beheben.

Wichtig: Die meisten der hier genannten Änderungen in der Registry werden erst nach einem Softreset wirksam!

Autostart über die Registry

Unter Windows CE gibt es zwei Möglichkeiten, nach einem Softreset mit anschließendem Boot-Vorgang Applikationen automatisch zu starten. Die eine ist der Ordner \Windows\Autostart (oder \Windows\Startup auf englischsprachigen Geräten), der im Prinzip genauso funktioniert wie der Autostart-Ordner am Windows-PC. Die andere Möglichkeit bietet die Schlüsselgruppe
HKEY_LOCAL_MACHINE\ init\
in der Registry. Hier finden sich String Values, die mit Launch bezeichnet sind plus einer zweistelligen Zahl. Diese Zahl legt die Reihenfolge fest, in der die Init-Einträge beim Booten abgearbeitet werden. Per Default werden einige Systemkomponenten auf diesem Weg gestartet, denen man mit eigenen Einträgen besser nicht in die Quere kommt. Eine typische Schlüsselgruppe sieht etwa so aus:

Launch20    device.exe
Launch30    gwes.exe
Depend30    14 00
Launch40    explorer.exe
Depend40    14 00 1E 00

Das Beispiel zeigt gleich auch den zweiten wichtigen Schlüssel in dieser Gruppe: Depend. Damit lassen sich Abhängigkeiten festlegen, die erfüllt sein müssen, bevor der zugehörige Init-Eintrag abgearbeitet wird. Dazu wird der Binary Value Depend mit der selben zweistelligen Zahl adressiert wie der zugehörige Aufruf Launch. Der Schlüssel Depend enthält zwei Byte lange Werte in Hex-Notation, die die Abhängigkeit angeben. Im oben gezeigten Beispiel wird "explorer.exe" über den Schlüssel Launch40 gestartet, aber erst, wenn wie in Depend40 angegeben die Inits "00 14" und "00 1E" abgearbeitet sind. "00 14" entspricht in Dezimalschreibweise "20" und adressiert damit also den Eintrag Launch20 "device.exe", "00 1E" steht für dezimal "30" und damit den Schlüssel Launch30 "gwes.exe".
Das Überprüfen von Abhängigkeiten stellt leider nicht sicher, daß eine vorher gestartete Applikation bereits voll initialisiert ist und auf Aufrufe von anderen Anwendungen reagiert. Insbesondere das Starten einer Applikation von Speicherkarte funktioniert auf diesem Weg nicht wirklich zuverlässig.

Batterie-Warnmeldung beim Einlegen von CompactFlash- oder PCMCIA-Karten

Insbesondere ältere PCMCIA-Karten verbrauchen sehr viel Strom und verkürzen damit die Akkulaufzeit erheblich. Aus diesem Grund hat Microsoft beim Einstecken von PCMCIA- und CF-Karten eine Warnmeldung vorgesehen, in der der Benutzer das Aktivieren der Karte bestätigen muß. Je nach Hersteller und Gerät ist diese Warnmeldung per Default aktiviert oder deaktiviert. Auf manchen Geräten kann sie über ein Control in der Systemsteuerung an- oder abgeschaltet werden, aber nicht auf allen. Der zugehörige Registry-Schlüssel ist zu finden unter
HKEY_LOCAL_MACHINE\ Drivers\ PCMCIA\ NoBatteryCheck
Ein Wert von "0" aktiviert die Warnmeldung, ein Wert von "1" deaktiviert den Dialog.

Autosuspend abschalten oder ändern

In der Systemsteuerung gibt es ein Control zur Konfiguration des automatischen Abschaltens (Autosuspend) bei Batterie- und Netzbetrieb. Läuft die Stromversorgung über Akku, ist ein automatisches Ausschalten nach einigen Minuten ohne Benutzereingabe sinnvoll, um die Batterie zu schonen. Ab und an stört dieses Stromspar-Feature aber, zum Beispiel beim Musikhören (sofern der verwendete Player nicht von sich aus das Abschalten unterbindet). Über die Systemsteuerung läßt sich der Autosuspend bei Batteriebetrieb auf den meisten Geräten nicht deaktivieren. Zudem sind die wählbaren Zeiträume im Control hart codiert mit den Werten eine, zwei, drei, vier und fünf Minuten, Zwischenwerte und längere oder kürzere Zeiträume lassen sich nur manuell über die Registry einstellen. Der zugehörige Schlüssel findet sich unter
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Control\ Power\ BattPowerOff
Angegeben ist die Zeitspanne bis zum automatischen Abschalten in Sekunden, also z.B. "180" (oder hex "B4") für drei Minuten. Um die Autosuspend-Funktion abzuschalten, muß hier ein Wert von "0" eingetragen werden.
Analog zum Batteriebetrieb läßt sich der Abschaltautomatismus auch für den den Netzbetrieb einstellen. Der zugehörige Schlüssel dafür heißt
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Control\ Power\ ExtPowerOff
Zu beachten ist, daß diese Registry-Einträge nur die Autosuspend-Funktion steuern, nicht aber das automatische Herunterdimmen der Display-Hintergrundbeleuchtung!

Fensteranimationen abschalten

Das Öffnen und Schließen von Fenstern wird unter Windows CE durch Animationseffekte nicht gerade beschleunigt. Wer auf diesen optischen Schnickschnack verzichten kann und stattdessen ein paar Hundertstel Sekunden schnelleren Bildaufbau gewinnen will, findet die zuständige Einstellung in der Registry unter
HKEY_LOCAL_MACHINE\ System\ GWE\ Animate
Den DWORD-Schlüssel Animate gibt es auf den meisten Geräten bereits, falls nicht vorhanden, einfach händisch anlegen. Ein Wert von "0" in diesem Schlüssel deaktiviert die Animationseffekte, ein Wert von "1" aktiviert sie wieder.

Aufbau von Textseiten beschleunigen

Windows CE verwendet einen "GlyphCache" genannten Pufferspeicher, um den Bildaufbau von Textdokumenten zu beschleunigen. Die Größe dieses Pufferspeichers wird in der Registry gesteuert über
HKEY_LOCAL_MACHINE\ SYSTEM\ GDI\ GlyphCache\ Limit
Auf den meisten aktuellen Geräten ist hier ein Wert von "8192" eingetragen. Erhöht man diesen Wert auf z.B. "32768", wird der Aufbau großer Seiten etwa im Internet Explorer merklich beschleunigt. Aber Achtung: Zu verstehen ist der eingetragene Wert als Anzahl der Byte, die pro installierter Schrift und pro Ausprägung dieser Schrift (fett, kursiv...) für den Pufferspeicher zur Verfügung stehen. Bei aktivierten ClearType (siehe unten) wird zudem der verwendete Pufferspeicher automatisch vervierfacht! Übertreiben sollte man die Pufferzuweisung also nicht, der Speicher wird fest reserviert und steht Anwendungen nicht mehr zur Verfügung.

ClearType aktivieren

Ab CE.NET 4.x läßt sich auf vielen Geräten die Bildschirmdarstellung von Schriften durch Kantenglättung verbessern. Anders als am PocketPC gibt es dafür kein Control in der Systemsteuerung. Auch der zugehörige Registry-Schlüssel fehlt zunächst. Um ClearType zu aktivieren, muß unter
HKEY_LOCAL_MACHINE\ System\ GDI\
einen String-Value namens ClearType angelegt werden, der zugehörige Wert ist egal. Das Vorhandensein des Schlüssels allein reicht schon, um das Anti-Aliasing bei Schriften einzuschalten. Entsprechend muß zum Abschalten von ClearType dieser Schlüssel wieder komplett gelöscht werden.
Nicht auf allen Geräten wird ClearType unterstützt, das Einfügen des genannten Schlüssels bleibt dann wirkungslos. Nicht auf allen Geräten verbessert ClearType die Lesbarkeit der Schriftendarstellung. Je höher die physikalische Auflösung des Displays, desto besser.

Der genannte Schlüssel zur Aktivierung der Kantenglättung bei Bildschirmschriften wirkt sich nicht automatisch auf alle Anwendungen aus. Für die Microsoft File Viewer zum Beispiel muß ClearType zusätzlich noch eingeschaltet werden über den Schlüssel
HKEY_CURRENT_USER\ Software\ Microsoft File Viewers\ ClearType
und für Internet Explorer oder andere HTML-Anzeigeprogramme über den Schlüssel
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Internet Settings\ ClearTypeText
In beiden Fällen schaltet eine "1" das Anti-Aliasing ein, eine "0" deaktiviert die ClearType-Kantenglättung.

Fontsmoothing aktivieren

Während ClearType erst ab CE.NET 4.x zur Verfügung steht, gibt es die Kantenglättung bei Schriften per Fontsmoothing schon seit der zweiten Generation von Windows CE. Ganz so effektiv wie ClearType arbeitet Fontsmoothing nicht, wirkt sich erst ab 16 oder 18 Punkt Schriftgröße aus. Wie ClearType muß auch diese Technik zur Kantenglättung vom Grafiktreiber unterstützt werden, steht damit also nicht auf allen Geräten zur Verfügung.

Das Aktivieren von Fontsmoothing funktioniert ähnlich wie bei ClearType, d.h. unter
HKEY_LOCAL_MACHINE\ System\ GDI\
muß einen String-Value namens Fontsmoothing angelegt werden, Wert egal.

Flexibleres Format für Datums- und Zeitdarstellung

Datums- und Zeitformate lassen sich in der Systemsteuerung unter "Ländereinstellung" komfortabel konfigurieren - solange man nicht ein Sonderformat benötigt oder z.B. auf einem aus den USA importierten Handheld die hierzulande üblichen Darstellungsformate nutzen möchte. In diesen Fällen hilft ein manueller Eingriff in die Registry weiter. Alle benötigten Schlüssel finden sich unter
HKEY_LOCAL_MACHINE\ nls\ overrides\
Die Schlüssel für das Datumsformat sind
SDate: Datumstrennzeichen (in Mitteleuropa ".", in USA z.B. "/")
SSDte: kurzes Datumsformat (z.B. "d.M.yy" für "31.1.05" - Erklärung unten)
SLDte: langes Datumsformat (z.B. "dddd, d. MMMM yyyy" für "Freitag, 2. September 2005" - Erklärung unten)
STime: Uhrzeittrennzeichen (üblich ist ":")
STFmt: Uhrzeitformat (in Mitteleuropa "HH:mm:ss", in USA und Großbritannien "h:mm:ss tt" - Erklärung unten)
S1159: Kürzel für vormittags im 12-Stunden-Format (üblich ist "am")
S2359: Kürzel für nachmittags im 12-Stunden-Format (üblich ist "pm")

Mögliche Formatvorgaben:
d   Tag ohne führende Null
dd   Tag mit führender Null
dddd   Name des Wochentags
M   Monat ohne führende Null
MM   Monat mit führender Null
MMMM   Monatsname
yy   Jahr zweistellig
yyyy   Jahr vierstellig
h   12-Stunden-Format, Stundenwert ohne führende Null
hh   12-Stunden-Format, Stundenwert mit führender Null
H   24-Stunden-Format, Stundenwert ohne führende Null
HH   24-Stunden-Format, Stundenwert mit führender Null
m   Minuten ohne führende Null
mm   Minuten mit führender Null
s   Sekunden ohne führende Null
ss   Sekunden mit führender Null
tt   Kürzel für vormittags/nachmittags, zwei Buchstaben werden angezeigt
t   Kürzel für vormittags/nachmittags, nur der erste Buchstabe wird angezeigt

Einen Fehler gefunden? Einen Link, der ins Leere weist? Anregungen zu dieser Seite?
Nehmen Sie Kontakt mit uns auf: webmaster@rothberger.net oder per Beitrag im Forum