例によって W-Zero3 Uploaderにアップしています。
普段はミューテックスを作って二重起動を防いでいました。
hMutex = CreateMutex(NULL, TRUE, USE10KEY_MUTEX_NAME);
if (hMutex) {
if (ERROR_ALREADY_EXISTS == GetLastError()) {
// 既に登録されていれば終了する
CloseHandle(hMutex);
hMutex = FALSE;
return FALSE;
}
} else {
return FALSE;
}これを名前付きイベントを使用するように変更してみます。
hEvent = CreateEvent(NULL, FALSE, FALSE, USE10KEY_REMOVE_EVENT);
if (hEvent) {
if (ERROR_ALREADY_EXISTS == GetLastError()) {
// 既に登録されていればイベントをシグナル状態にする
SetEvent(hEvent);
CloseHandle(hEvent);
return TRUE;
}
} else {
return FALSE;
}
:
:
// イベントがシグナル状態になるまで待つ
WaitForSingleObject(hEvent, INFINITE);これで二重起動させることによって電話アプリを元に戻すことができるようになりました。
その気になれば "Use10KeyRemoveEvent"という名前付きイベントをシグナル状態にすれば他アプリからでも同じことが出来ます(笑
ただ、今のままだとUse10Keyが常駐しているのかどうかが分かりにくいので 何らかのメッセージを表示させた方が分かりやすいかもしれませんね。
0 件のコメント:
コメントを投稿