您的位置:首页 > 其它

winform 防止多開

2015-05-14 14:49 218 查看
場景:

當我們的電腦可以使用多用戶同時登錄時候,每個使用者只允許執行一次exe程式。

例如:一台公用電腦,有多個用戶A、B。

當用戶A進入系統第一次運行C:\XX.exe,OK。第二次運行XX.exe提醒“已經重複開啟”。

當用戶B進入系統第一次運行C:\XX.exe,OK。第二次運行XX.exe提醒“已經重複開啟”。

VB.NET代碼,放在mdi主窗體

Dim createdNew As Boolean
Dim instance = New System.Threading.Mutex(True, System.Diagnostics.Process.GetCurrentProcess().ProcessName, createdNew)
If createdNew Then
instance.ReleaseMutex()
Else
MessageBox.Show("該程序已經啟動,請先關閉!", "系統信息", MessageBoxButtons.OK, MessageBoxIcon.Error)
Me.Close()
Application.Exit()
End If


C#代碼,放在程式啟動的Program.cs

bool createdNew;
System.Threading.Mutex instance = new System.Threading.Mutex(true, System.Diagnostics.Process.GetCurrentProcess().ProcessName, out createdNew);
if (createdNew)
{
Application.Run ( new Form1() );
instance.ReleaseMutex ();
}
else
{
MessageBox.Show ( "已经启动了一个程序,请先退出!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error );
Application.Exit ();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: