2008-09-07 21 views
6

Wie planen Sie, dass eine Windows Mobile-Anwendung regelmäßig gestartet wird, um Hintergrundverarbeitung durchzuführen? Angenommen, ich schreibe einen E-Mail-Client und möchte jede Stunde nach E-Mails suchen, unabhängig davon, ob meine App gerade ausgeführt wird.Planen der Ausführung von Windows Mobile-Anwendungen

Die App ist eine native C/C++ - App auf Windows Mobile 5.0 oder höher.

Antwort

4

die Funktion, die Sie brauchen, ist:

CeRunAppAtTime(appname, time)

, die nicht die genaue Signatur ist, gibt es auch CeRunAppAtEvent ist, sollten sie in der MSDN-Dokumentation sowohl (aber Verknüpfung ist die Art und Weise MSDN Urls immer nutzlos Ändern)

Der normale Weg, diese zu verwenden (und RunAppAtTime in der verwalteten Welt über OpenNETCF.Win32.Notify) ist, dass für die periodische Ausführung, jedes Mal, wenn Ihre App läuft, wird es für die nächste Laufzeit neu rescedule.

Wenn Ihre App ausgeführt wird, sollte die neue Instanz den bereits laufenden Prozess aufrufen. Wenn es nicht läuft, dann ist es wie normales Starten - von mmory übergibt es einige Argumente an den Prozess, so dass es erkennen kann, dass es geplant ist und nicht auf andere Weise gestartet wird.

+0

CeRunAppAtTime ist veraltet - schauen Sie in den Header notify.h wo es definiert ist. Besser, stattdessen CeSetUserNotificationEx zu verwenden. – Sam

3

Verwenden Sie CeSetUserNotificationEx anstelle von CeRunAppAtTime (da dies veraltet ist).

Verwandte Themen