|
◆VBの場合◆
|
|
Public Sub Main()
' ★★★ 多重起動チェック
If App.PrevInstance Then
' ★★★ 多重起動の処理
Call MsgBox("すでに起動しています。", _
vbOKOnly, "サンプル")
Exit Sub
End If
' 通常の処理
' 〜〜〜〜〜
End Sub
|
◆VC++(SDK)の場合◆
|
|
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
// ★★★ 多重起動チェック
HANDLE m_hMutex = CreateMutex(FALSE, 0, "sample");
// ↑"sample"の部分には、ユニークな文字列を設定する
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
// ★★★ 多重起動の処理
MessageBox(NULL, "すでに起動しています。",
"テスト", MB_OK);
return 0;
}
// 通常の処理
// 〜〜〜〜〜
return 1;
}
|
◆VC++(MFC)の場合◆
|
|
BOOL CXXXXApp::InitInstance()
{
// ★★★ 多重起動チェック
HANDLE m_hMutex = CreateMutex(FALSE, 0, "sample");
// ↑"sample"の部分には、ユニークな文字列を設定する
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
// ★★★ 多重起動の処理
MessageBox(NULL, "すでに起動しています。",
"テスト", MB_OK);
return FALSE;
}
// 通常の処理
// 〜〜〜〜〜
return TRUE;
}
|
|