2009-05-30 1 views
0

ヘッダー行(2つのダブル)とエントリのリストを含むフラットデータファイル(CSV)を含むWindows Mobile 5.0アプリケーション(スマートフォン) (2つのdouble、DateTime、および文字列)。Windows Mobileアプリケーションが実行されていないことを確認する - デスクトップアプリケーションから

モバイルアプリケーションをデスクトップアプリケーションと「同期する」必要があることがあります。デスクトップアプリケーションは、モバイルデバイスからCSVを読み込み、古いCSVファイルの内容に基づいて新しいCSVファイルに置き換える必要があります。

これはRAPI(私は推測している)経由ではかなり簡単ですが、モバイルアプリケーションが動作していないことを確認する必要があります。これを行う方法はありますか?

ミューテックス?リモートプロセスビューアはもののような?ファイルロック?任意の助け

おかげで、あなたは

マイク

答えて

1

読み込み/更新されるファイルに単純なファイルロック機構を使用するだけです。

ファイルを使用する前に名前を変更するか、存在するかどうかを確認できる2番目の「ロック」ファイルを作成してください。

+0

アプリがクラッシュしてファイルを削除しない場合 – ctacke

+0

はい、ロックファイルには時間制限があります。ロックが2分経過しても、アプリが1分以上ロックを保持しない場合は、ロックを無視します。 –

+0

音が聞こえます。シンプルなRAPI機能はそれを正しく行います。 – ctacke

0

ちょうど簡単な方法を考えています。

プログラムが実行されるたびに、レジストリキーを現在のdatetimeで更新します。

モバイルレジストリを確認して、5秒後にもう一度チェックしてください。値が変更された場合、プログラムはまだ実行されています。

+0

これは本当に悪い考えです。このような頻度でモバイルアプリケーションにタスクを実行させると、低電力モードに移行する能力に影響します。これはバッテリ寿命に大きな影響を与えます。 –

+0

ええ、そうは思わなかった。 –

1

built-in RAPI Functionsには、ToolHelp API'sのような実行中のプロセスをチェックするためのものはありません。 Cを使用すると、ToolHelp APIを呼び出すデバイスライブラリに一連のカスタム関数を作成し、これをCeRapiInvoke(カスタムRAPI関数の包括的なキャッチオールエントリポイント)を通じて呼び出すことができます。残念ながら、これをマネージコードで行う単純なメカニズムはありません。

関連する問題