はじめましてookuraといいます
VC++6.0を初めて2週間です。
VC++6.0
OS:WindowsXP
実行アプリケーションの2重起動防止をしようとしています。
いままでいろいろと検索し、Mutexを使用するのがよいと思い、実際に試しています。
ただ、CreateMutexの使用方法がわかっていません。
簡単に、notpadを2重起動防止する場合、以下のようにコーディングしています。
----------------------------------------------------------------------
#include <windows.h>
int WINAPI WinMain(HINSTANCE hCurInst,HINSTANCE hPrevInst,LPSTR lpsCmdLine,int
cMdShow){
HANDLE hMutex;
hMutex = (NULL,TRUE,ここに何を書くのかわかっていません);
if (!hMutex)
return 0;
if (GetLastError() == ERROR_ALREADY_EXISTS) {
return 0;
}
WinExec(notepad.exe,SW_SHOW);
return 0;
}
---------------------------------------------------------------------------
hMutex = (NULL,TRUE,ここに何を書くのかわかっていません);
上記に記述したとおりなのですが、notepad.exeを2重起動防止するように、Mutexを使用する
場合、どのように何を記述すればよろしいでしょうか?
ご教授ください。宜しくお願いいたします。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28540&forum=7&0
> 発言される前に「使用上の注意」を必ずお読み下さい。
> ■ マルチポストについて
>
> マルチポストとは、「同じ内容の質問などを複数の掲示板等に書き込むこと」です。
> この行為はマナー違反として嫌われています。マルチポストは行わないで下さい。
>
>
> 誤ってマルチポストしてしまった場合には、必ず全ての掲示板にどのように
> 解決したかを記述し、かつお礼を書き込んで下さい。
ookuraです。
■ マルチポストについて
マナー違反をしておりました。
こちらへは、解決次第ご報告いたします。
ご迷惑おかけしました。
自アプリケーション以外の複数起動を許可しているアプリの2重起動防止をしようとしていまし
た。
Mutex では制御できるものではないようです。
元々複数起動を許しているアプリケーションを、外部から複数起動禁止にするのはかなり難しい
そうです。
解決はしていませんが、できるようだったら再度ご報告します。
失礼いたしました。
自アプリ以外のアプリを自アプリのみで起動する仕様なら
CreateProcessで起動しWaitFor系でプロセス終了まで待つで
出来るんではないでしょうか?