帮帮我啊!C#问题:怎么防止一个窗口程序被重复开启!

来源:百度知道 编辑:UC知道 时间:2024/05/29 03:51:43
有会c#的高人么?我想问一个问题:我编了一个窗口程序,但是每次双击exe文件的时候都会产生一个新的窗口,弄得我很不爽,有没有什么方法能让我的这个程序就开启一次,第二次在开启的时候还是只调用第一次开启的窗口,现在很多软件都能实现,就是不知道怎么弄,麻烦高手们帮我出出主意!谢谢!
P.S.我很菜,请帮忙讲细一些哈!谢谢!!!!!!!!!

private static Mutex myMutex;
private static bool requestInitialOwnership = true;
private static bool mutexWasCreated;

static void Main()
{

myMutex = new Mutex(requestInitialOwnership,"myExe",out mutexWasCreated);
if(mutexWasCreated)
{
Application(new Form());
myMutex.WaitOne();
}
}

单实例运行,可以用判断进程来做,不过可能存在相同的进程名的话就会出错,不过这个概率应该很小,呵呵
双击program.cs文件,下面的代码自己改改,也就是换成你的程序实例名
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
System.Diagnostics.Process[] myProcess = System.Diagnostics.Process.GetProcesses();
bool isExist = false;
foreach (System.Diagnostics.Process p in myProcess)
{<