已发布的Winform程序 如何保证只启动一个客户端? 5
各位大侠们:小弟写了一个winform程序、并生成了安装程序,在电脑上安装之后,可以正常启动客户端。但是如果启动一个客户端之后,再次启动客户端程序,那么就会启动两个程序,...
各位大侠们:小弟写了一个winform程序、并生成了安装程序, 在电脑上安装之后,可以正常启动客户端。但是如果启动一个客户端之后,再次启动客户端程序,那么就会启动两个程序,如何避免这一点,使得在电脑上只能运行一个客户端程序? 就像lingoes一样,如果启动了Lingoes之后,再次点击启动程序,就会弹出刚才已运行的Lingoes主界面、而不是重新启动了一个客户端程序界面!
我的那个程序 如果启动两次的话 就会在右下角产生两个图标! 效果如图片中展示的那样。。 展开
我的那个程序 如果启动两次的话 就会在右下角产生两个图标! 效果如图片中展示的那样。。 展开
2个回答
展开全部
c#只允许启动一个实例,需要重启程序的例子2010年01月13日 星期三 16:31 static class Program
{
public static System.Threading.Mutex Run;
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
bool noRun = false;
Run = new System.Threading.Mutex(true, "ab", out noRun);
//if (!isRunning())
if(noRun)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
CsDAL.UserInfo ui = new CsDAL.UserInfo();
Login myLogin = new Login();
if (!Login.istrue)
return;
ui = myLogin.GetUI();
if (myLogin.ShowDialog() == DialogResult.OK)
{
string userOtherInfo = myLogin.GetUserOtherInfo(); //获取登录用户的 有效期,登录IP,最后登录时间
try
{
Application.Run(new SimResult(ref ui, userOtherInfo));
if (SimResult.isOthorLogin)
{
Run.ReleaseMutex();
Program.Run.Close();
Application.Restart();
}
}
catch { }
}
}
else
{
MessageBox.Show("程序已经运行,请勿重复启动!", "提示");
}
{
public static System.Threading.Mutex Run;
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
bool noRun = false;
Run = new System.Threading.Mutex(true, "ab", out noRun);
//if (!isRunning())
if(noRun)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
CsDAL.UserInfo ui = new CsDAL.UserInfo();
Login myLogin = new Login();
if (!Login.istrue)
return;
ui = myLogin.GetUI();
if (myLogin.ShowDialog() == DialogResult.OK)
{
string userOtherInfo = myLogin.GetUserOtherInfo(); //获取登录用户的 有效期,登录IP,最后登录时间
try
{
Application.Run(new SimResult(ref ui, userOtherInfo));
if (SimResult.isOthorLogin)
{
Run.ReleaseMutex();
Program.Run.Close();
Application.Restart();
}
}
catch { }
}
}
else
{
MessageBox.Show("程序已经运行,请勿重复启动!", "提示");
}
参考资料: http://hi.baidu.com/huangyuyu373/blog/item/0dbdefa8cb0695f71f17a242.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询