Windows Mobile

Adventskalender für Windows Mobile Entwickler

Adventskalender, meist mit Schokolade gefüllt, erfreuen sich jedes Jahr aufs Neue sehr großer Beliebtheit.
Um jedoch auf die Pfunde zu achten, haben Peter Nowak und ich uns entschieden, einen Adventskalender in traditioneller Form für Windows Mobile Entwickler anzubieten und das Jahr somit festlich ausklingen zu lassen.
Jeden Tag gibt es somit eine neue “Leckerei” in Form von Code Snippets.
Hierbei handelt es sich um kleine Codebeispiele, welche häufiger nachgefragt werden.

Damit auch jeder etwas für sich findet, werden die Snippets einmal als verwaltetete Version in C# von Peter angeboten, sowie nativ in C++ von meiner Seite .

– Patrick

Advertisements
Windows Mobile

Ein Windows Mobile ABC: H wie Hilfe

Eigentlich ist es ja gang und gäbe. Schreibt man eine Anwendung für den Desktop unterstützt man entweder den Hilfeaufruf per F1 Taste bzw. Kontexthilfe oder halt nicht.
Klar, bei einer Testanwendung kennt jeder vermutlich Meldungen wie:
—————————
Windows Help
—————————
Cannot find the c:Documents and SettingsAdministratorMy DocumentsVisual Studio 2008ProjectsWindowsMobileABCDebugWindowsMobileABC.HLP Help file. Check to see that the file exists on your disk. If it doesn’t, you need to reinstall it.
—————————
OK  
—————————
wenn man die F1 drückt. Aber sobald man die Anwendung veröffentlicht oder dem Kunden gibt hat man die Hilfe entweder komplett deaktiviert oder auf eine CHM Datei aktualisiert.
Warum also gibt es bei den meisten Windows Mobile Applikationen keine Hilfe?
Gute Frage…
Im MSDN findet man jedenfalls ausreichend Informationen zum erstellen der Hilfedateien.
Was leider vollständig fehlt ist die Visual Studio Unterstützung.
Es wird nämlich weder der HtmlHelp Handler noch der WinHelp Handler unterstützt. Auch der angebotene WM_HELPINFO Handler kann nicht verwendet werden.
Das einzige was funktioniert ist die eigene Implementation der WM_HELP Nachricht wie im MSDN http://msdn.microsoft.com/en-us/library/aa932902.aspx beschrieben.
Was beim abhandeln der Nachricht gemacht werden muss ist das starten der PegHelp.exe mit der HTML Datei und Sektion als Parameter:
CreateProcess(L"PegHelp.exe",L"ABC.htm#blog" ,NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);
 
Wenn man die Nachricht in jedem Fenster/Dialog seiner eigenen Anwendung implementiert ist das ganze übrigens kontextsensitiv.
Über den Aufruf von Start->Hilfe wird die Nachricht an das Fenster mit dem Eingabefokus bzw. das vorderste Fenster gesendet.
Man kann also je nach Dialog zu einer anderen HTML Datei bzw. Sektion springen.
 
– Patrick
Windows Mobile

Ein Windows Mobile ABC: G wie GPS

Während der Aufnahme unseres Webcasts zum Windows Mobile Consumer Solution Accelerator fiel mir ein das wir eigentlich auch das GPS
hätten präsentieren können.
Immerhin gibt es seit Windows Mobile 5 nicht nur die GPS API, die auch der Consumer Solution Accelerator verwendet, um dem GPS Gerät Daten zu entlocken,
sondern auch die Möglichkeit das ganze auch entwicklerfreundlicher zu gestalten.
Denn für gewöhnlich hat man in seinem Büro eher schlechten bis gar keinen GPS-Empfang.
Im Sommer kann man durchaus mal mit Laptop und Gerät auf dem Parkplatz rumlaufen, sollte sich aber auf verständnislose Blicke und Fragen seitens anderer Personen gefasst machen.
Wer ein wenig lauffaul oder mutig ist kann auch sein Gerät auf die eventuell vorhanden Fensterbank legen und dann per Bluetooth oder etwas längerem USB Kabel debuggen.
Bei einer auf Firma habe ich auch schon Bluetooth GPS-Mäuse an Besenstielen befestigt aus dem Fenster schauen sehen.
Das ist aber alles nicht für Regen oder den Winter geeignet. Mal abgesehen davon dass sich die Koordinaten sich auch nicht wirklich verändern und somit nicht für jedes Szenario geeignet sind..
Abhilfe schafft hier das FakeGPS Tool aus dem Windows Mobile SDK oder direktes editieren der Registry(was jedoch nicht auf jedem Gerät möglich ist!).
Das FakeGPS bzw. die Registry-Manipulation ermöglich es NMEA Dateien anstatt richtiger GPS Daten zu verwenden.
NMEA ist das Format in dem die Informationen aus dem GPS Empfänger üblicherweise ausgegeben werden.
Wem die beiden mitgelieferten NMEA Dateien des FakeGPS nicht reichen hat diverse Möglichkeiten.
Zum Beispiel das preisgekrönte Windows Programm Notepad, diverse GPS Logger oder auch Konverter für Services wie  Bing, Live Maps oder Google Earth mit denen dort erstellte Routen in NMEA Dateien konvertiert werden können.
Ziemlich umfangreich bezüglich der Eingabeformate und dazu noch kostenlos ist beispielsweise der RouteConverter.
 
Wer übrigens mal erfahren möchte wie GPS überhaupt funktioniert sollte sich dieses Video mal anschauen.
http://www.youtube.com/watch?v=t71IIVUwJQI
 
– Patrick