◆多重起動防止

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

情報

作者名:しらたま
引用元:なでしこプログラム掲示板「多重起動の防止」
勝手に改変

概要

多重起動を防止します。
ここでは確実性の高いMutex(API)を使った方法を載せています。

本体

#-----------------------------------------------------------------------
#最上部
#-----------------------------------------------------------------------
#オプション
ミューキーワード=「なでしこ」。//このキーワードが被ったら多重起動となります。

●多重起動検知処理
  「多重起動です」という。
  終わり。

母艦の閉じた時は~
  ReleaseMutex(ミューテックス)。
  CloseHandle(ミューテックス)。
#----------------------------------------------------------
#----------------------------------------------------------
#定義(いじらないように)
●CreateMutex(sec,owner,{参照渡し}neme) =DLL("kernel32.dll",
"HANDLE CreateMutexA(
LONG pSAttr,//0固定
BOOL fOwner,//所有者
LPCTSTR sMutexName//オブジェクト名
)")
●ReleaseMutex(hMutex) =DLL("kernel32.dll",
"BOOL ReleaseMutex(
HANDLE hMutex // ミューテックスのハンドル
)")
●CloseHandle(hObject)=DLL("kernel32.dll",
"BOOL CloseHandle(
HANDLE hObject // オブジェクトのハンドル
)")
●GetLastError()=DLL("kernel32.dll","DWORD GetLastError()")
ミューテックスはCreateMutex(0,0,ミューキーワード)
GetLastError()
もしそれが/*ERROR_ALREADY_EXISTS*/183ならば、多重起動検知処理。
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------


名前:
コメント:


ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。