vb.net:
Sub Main()
Dim blnRet As Boolean
''二重起動ができません If PrevInstance() = True Then MessageBox.Show("二重起動ができません。", "二重起動", MessageBoxButtons.OK, MessageBoxIcon.Error) Else Application.Run(New CR01.FML.SYDA12) End If
End Sub
'---------------------------------------------------------------- '- @(f) '- '- 機 能: システムの二重起動が判定 '- '- 返 値: True Or False '- '- 引 数: objCheck '- '- 機能説明: システムの二重起動が判定 '- '---------------------------------------------------------------- Private Function PrevInstance() As Boolean If Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName).Length > 1 Then Return True Else Return False End If End Function
c#:
/// <summary> /// アプリケーションのメイン エントリ ポイントです。 /// </summary> [STAThread] static void Main() { if (PrevInstance()) { MessageBox.Show("二重起動ができません", "二重起動", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } /// <summary> /// システムの二重起動が判定 /// </summary> /// <returns>True Or False</returns> private static bool PrevInstance() { if (Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length > 1) { return true; } else { return false; } }
或:
/// <summary> /// システムの二重起動が判定 /// </summary> /// <returns>True Or False</returns> private static bool PrevInstance() { bool bCreateNew; Mutex objMutex = new Mutex(true, Process.GetCurrentProcess().ProcessName, out bCreateNew); if (!bCreateNew) { return true; } else { return false; } }
|
请发表评论