定期的に起動してバックグラウンド処理を実行するようにWindowsMobileアプリケーションをスケジュールするにはどうすればよいですか。たとえば、メールクライアントを作成していて、その時点でアプリが実行されているかどうかに関係なく、1時間ごとにメールをチェックしたいとします。
このアプリは、WindowsMobile5.0以降のネイティブC/C++アプリです。
定期的に起動してバックグラウンド処理を実行するようにWindowsMobileアプリケーションをスケジュールするにはどうすればよいですか。たとえば、メールクライアントを作成していて、その時点でアプリが実行されているかどうかに関係なく、1時間ごとにメールをチェックしたいとします。
このアプリは、WindowsMobile5.0以降のネイティブC/C++アプリです。
必要な機能は次のとおりです。
CeRunAppAtTime( appname, time )
これは正確な署名ではありません。またCeRunAppAtEvent
、両方ともMSDNドキュメントに含まれている必要があります(ただし、MSDN URLが常に変更される方法ではリンクは役に立ちません)
これらを(およびRunAppAtTime
を介して管理対象の世界でOpenNETCF.Win32.Notify
)使用する通常の方法は、定期的に実行する場合、アプリが実行されるたびに、次の実行時に自分自身を再スケジュールすることです。
アプリが実行されている場合、新しいインスタンスはすでに実行中のプロセスを起動する必要があります。実行されていない場合は、通常の起動と同じです。mmoryからプロセスに引数を渡すため、スケジュールされており、他の方法で起動されていないことがわかります。
CeRunAppAtTimeの代わりにCeSetUserNotificationExを使用します(これは非推奨です)。