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主窗體
C#代碼,放在程式啟動的Program.cs
當我們的電腦可以使用多用戶同時登錄時候,每個使用者只允許執行一次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 (); }
相关文章推荐
- 使用C#打开新窗口关闭旧窗口的方法;winform中防止重复打开多个相同子窗体
- 使用C#打开新窗口关闭旧窗口的方法;winform中防止重复打开多个相同子窗体
- 如何防止在同一台机器上重复登录(WinForm程序)
- Winform 如何防止双击标题栏、移动窗体
- WinForm防止程序重复运行的方法分析
- 防止WinForm闪烁
- Winform防止程序重复运行
- Winform中防止重复打开多个相同子窗体的方法
- winform 防止主界面卡死
- WinForm程序防止被调用
- winform程序防止重复运行
- winform程序防止重复运行
- 在WinForm中,如何实现MDI窗体及防止重复打开子窗体
- C# .net防止一个程序(WinForm)重复运行的方法。
- winform防止主窗体,子窗体重复打开(一)
- [转]使用C#打开新窗口关闭旧窗口的方法;winform中防止重复打开多个相同子窗体
- winform防止控件随窗体变化出现布局错乱两种办法
- winform 防止界面假死
- WinForm多线程+委托防止界面假死
- Winform中扩展Panel使之具备双缓存,防止闪屏