「MFCの基礎 - 2重起動の禁止」の版間の差分

ナビゲーションに移動 検索に移動
文字列「<source lang」を「<syntaxhighlight lang」に置換
(Wiki がページ「二重起動を禁止する(MFC)」を「MFCの基礎 - 2重起動の禁止」に、リダイレクトを残さずに移動しました)
(文字列「<source lang」を「<syntaxhighlight lang」に置換)
9行目: 9行目:
== サンプルコード ==
== サンプルコード ==
まず、CWinAppの派生クラスのヘッダファイルにミューテックスオブジェクトを保存するHANDLE型のメンバ変数を用意する。<br>
まず、CWinAppの派生クラスのヘッダファイルにミューテックスオブジェクトを保存するHANDLE型のメンバ変数を用意する。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  CWinAppの派生クラス.h
  CWinAppの派生クラス.h
   
   
19行目: 19行目:
InitInstance関数の最初にCreateMutex関数を使用して作成し、CreateMutex関数の3番目の引数にそのアプリケーション固有の文字列(アプリケーション名でよい)を渡す。<br>
InitInstance関数の最初にCreateMutex関数を使用して作成し、CreateMutex関数の3番目の引数にそのアプリケーション固有の文字列(アプリケーション名でよい)を渡す。<br>
その直後に、GetlastError関数で既に起動しているか調べる。起動している場合、そのままミューテックスオブジェクトを開放し終了させる。<br>
その直後に、GetlastError関数で既に起動しているか調べる。起動している場合、そのままミューテックスオブジェクトを開放し終了させる。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  CWinAppの派生クラス.cpp
  CWinAppの派生クラス.cpp
   
   
40行目: 40行目:
<br>
<br>
解放を記述する場所は、クラスウィザードでExitInstance関数を追加し、そこで解放する。<br>
解放を記述する場所は、クラスウィザードでExitInstance関数を追加し、そこで解放する。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  CWinAppの派生クラス.cpp
  CWinAppの派生クラス.cpp
   
   

案内メニュー