只启动一个窗口

waslee 2008-01-02 09:42:25
我做了一个WINFROM程序,aa.exe 双击这个程序 程序启动。再双击这个程序 程序在次打开一个窗口
我想让这个程序双击启动之后 在双击这个程序让他展示原来打开的也就是说如何控制这个程序只启动一个窗口。
...全文
84 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
waslee 2008-01-02
  • 打赏
  • 举报
回复
感谢
smaworm 2008-01-02
  • 打赏
  • 举报
回复
楼上的正解,比较详细,不多说了。
cpw999cn 2008-01-02
  • 打赏
  • 举报
回复
另外楼主不厚道,分给这么少~
cpw999cn 2008-01-02
  • 打赏
  • 举报
回复
方案一:
//判断是否已经存在一个exe
是要写在main函数里面的
[STAThread]
static void Main()
{
bool createdNew;
Mutex m = new Mutex(true, "yourexe", out createdNew);
if (! createdNew)
{
MessageBox.Show("Only one exe is allowed at a time.");
return;
}
Application.Run(new Start());
GC.KeepAlive(m);
}

上面的要添加using System.Threading;
Mutex class是用于进程同步的


方案二:
using System.Diagnostics;

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
// 防止多次执行
Process[] processes = Process.GetProcessesByName("RCL");
if (processes.Length >= 2 )
{
MessageBox.Show("程序已经执行!","提醒",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
else
Application.Run(new frmMain());
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧