2003-08-07 160019 [長年日記]

WM_MOUSEMOVE

バージョンによっても違うのかもしれませんけれど、Windows CEでスタイラスで画面に触れると、WM_LBUTTONDOWNが来た直後に同じ座標でWM_MOUSEMOVEが来るようですね。

[Q3] ロックファイル

ロックファイルを使うようにしました。メールフォルダにlockという名前のファイルが作成されます。中にはウィンドウハンドルとPC名が書かれます。起動中はロックファイルは読み込み共有モードで開きっぱなしです。

起動したときには、読み書きモードで開こうとします。失敗したら既にロックされているということなので、読み込みモードで開きなおしてからウィンドウハンドルを読み取って通信します。成功したけれど既にファイルがあった場合には、他のPCで使っているか、前回正常に終了しなかったということなので、メッセージボックスを出して続行するかどうか尋ねます。元々ファイルがなかった場合にはそのまま続行します。その後でウィンドウを作成したらウィンドウハンドルとPC名を書き込みます。終了時にはファイルを削除します。

ファイルを開く直前からウィンドウハンドルなどを書き込むまでと、ウィンドウを破棄する直前からファイルを削除し終わるまでの間はMutexでロックします。このときのMutexはメールフォルダが異なった場合でも共通のものを使いますので、別のメールフォルダを指定している場合でもこの間だけは待たされることになります。


トップ «前の日記(2003-08-06) 最新 次の日記(2003-08-08)»