Planen der Ausführung von Windows Mobile-Apps
-
09-06-2019 - |
Frage
Wie planen Sie den regelmäßigen Start einer Windows Mobile-Anwendung, um eine Hintergrundverarbeitung durchzuführen?Angenommen, ich schreibe einen E-Mail-Client und möchte stündlich nach E-Mails suchen, unabhängig davon, ob meine App gerade ausgeführt wird.
Die App ist eine native C/C++-App auf Windows Mobile 5.0 oder höher.
Lösung
Die Funktion, die Sie benötigen, ist:
CeRunAppAtTime( appname, time )
Das ist nicht die genaue Signatur, es gibt sie auch CeRunAppAtEvent
, sie sollten beide in den MSDN-Dokumenten enthalten sein (aber eine Verlinkung ist nutzlos, da sich MSDN-URLs immer ändern)
Die normale Art, diese (und RunAppAtTime
in der verwalteten Welt über OpenNETCF.Win32.Notify
) bedeutet, dass sich Ihre App bei regelmäßiger Ausführung jedes Mal, wenn sie ausgeführt wird, für die nächste Laufzeit neu plant.
Wenn Ihre App ausgeführt wird, sollte die neue Instanz den bereits ausgeführten Prozess aufrufen.Wenn es nicht ausgeführt wird, verhält es sich wie ein normaler Start: Vom Speicherort übergibt es ein Argument an den Prozess, damit dieser erkennen kann, dass er geplant und nicht auf andere Weise gestartet wird.
Andere Tipps
Verwenden Sie CeSetUserNotificationEx anstelle von CeRunAppAtTime (da dies veraltet ist).