winform程序限制多开以及FromMian 为主线程思路
2017-03-16 09:20
148 查看
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Form1());
bool createdNew;//返回是否赋予了使用线程的互斥体初始所属权
System.Threading.Mutex instance = new System.Threading.Mutex(true, "MutexName", out createdNew); //同步基元变量
if (createdNew) //赋予了线程初始所属权,也就是首次使用互斥体
{
// 显示登录窗体
FrmLogin frmLogin = new FrmLogin();
DialogResult dialogResult = frmLogin.ShowDialog();
if (dialogResult == DialogResult.OK)
{
Application.Run(new FrmMain());
instance.ReleaseMutex();
}
else
{
Application.Exit();
}
}
else
{
MessageBox.Show("已经启动了一个程序,请先退出!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.Exit();
}
}
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Form1());
bool createdNew;//返回是否赋予了使用线程的互斥体初始所属权
System.Threading.Mutex instance = new System.Threading.Mutex(true, "MutexName", out createdNew); //同步基元变量
if (createdNew) //赋予了线程初始所属权,也就是首次使用互斥体
{
// 显示登录窗体
FrmLogin frmLogin = new FrmLogin();
DialogResult dialogResult = frmLogin.ShowDialog();
if (dialogResult == DialogResult.OK)
{
Application.Run(new FrmMain());
instance.ReleaseMutex();
}
else
{
Application.Exit();
}
}
else
{
MessageBox.Show("已经启动了一个程序,请先退出!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.Exit();
}
}
相关文章推荐
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)
- C# Winform程序以及窗体运行的唯一性汇总
- WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互
- C# WinForm登陆窗体 限制用户名只输入字母 数字以及下划线
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)
- Winform读写App.config文件以及重启程序
- 帮助文档(*.chm)制作 以及在winform程序中的应用
- winform程序限制只能打开一个进程
- WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互
- C# winform 程序中如何限制一个文本框中只输入数字和字母(撤消键可以用)
- winform拖拽:实现外部文件拖拽到程序内以及程序内部间的拖拽
- C#WinForm程序最小化后在托盘中隐藏方法以及几个关键点的简单分析
- 向WinForm程序传递命令行参数以及让程序后台运行的
- Winform读写App.config文件以及重启程序
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)
- winform 限制启动一个程序
- winform程序如何通过操作注册表来实现限制使用次数
- WinForm限制客户程序只能运行一个实例
- winform开发 总结1>winform程序使用线程的必要性,以及正确的使用方式