「◆多重起動防止」の編集履歴(バックアップ)一覧はこちら
「◆多重起動防止」(2009/01/02 (金) 04:18:21) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*情報
作者名:しらたま
引用元:[[なでしこプログラム掲示板「多重起動の防止」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=one&number=662&type=647&space=15&no=0&KLOG=1]]
勝手に改変
*概要
多重起動を防止します。
ここでは確実性の高い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ならば、多重起動検知処理。
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------
----
#comment()
----
*情報
作者名:しらたま
引用元:[[なでしこプログラム掲示板「多重起動の防止」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=one&number=662&type=647&space=15&no=0&KLOG=1]]
勝手に改変
*概要
多重起動を防止します。
ここでは確実性の高い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ならば、多重起動検知処理。
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------
----
#comment()
----