如果程序111已经运行起来了,再双击111.exe提示“程序运行中”,之后不再运行该程序如何实现,谢谢
C#语言
14 个解决方案
#1
主窗体.Hide();
副窗体.Show();
program.cs
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (runone())
Application.Run(new Form1
());
}
private static System.Threading.Mutex mutex;
private static bool runone()
{
bool one;
//WindowsApplication2 住窗体的title。
mutex = new System.Threading.Mutex(true, "WindowsApplication2", out one);
return one;
}
}
副窗体.Show();
program.cs
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (runone())
Application.Run(new Form1
());
}
private static System.Threading.Mutex mutex;
private static bool runone()
{
bool one;
//WindowsApplication2 住窗体的title。
mutex = new System.Threading.Mutex(true, "WindowsApplication2", out one);
return one;
}
}
#2
一楼的都说了!!
#3
主窗体work 副窗体logo,怎么能实现启动程序显示logo隐藏work?
==
在Program.cs中
Application.Run(new logo());
==
在Program.cs中
Application.Run(new logo());
#4
可以考虑使用application.idel+=在进程空闲的时候来做
#5
只允许一个实例运行
建议楼主看看设计模式里面的单件模式
建议楼主看看设计模式里面的单件模式
#6
将logo的显示放在主窗体显示之前显示,等主窗体加载完成后让logo关闭就可以了
#7
如果程序111已经运行起来了,再双击111.exe提示“程序运行中”,之后不再运行该程序如何实现,谢谢
--------------
这个可以通过process获得系统的进程,然后判断看是否存在该进程
具体:
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcesses();
for(...)
{
if (p[i].ProcessName == "111.exe")
{ }
}
--------------
这个可以通过process获得系统的进程,然后判断看是否存在该进程
具体:
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcesses();
for(...)
{
if (p[i].ProcessName == "111.exe")
{ }
}
#8
单实例运行
这个有很多方法,借用“baidu一下就知道”
这个有很多方法,借用“baidu一下就知道”
#9
程序唯一实例问题,
http://blog.csdn.net/zhzuo/archive/2006/06/30/857405.aspx
http://blog.csdn.net/zhzuo/archive/2006/07/04/874745.aspx
启动窗体问题,
http://www.codeproject.com/csharp/apploadingarticle.asp?target=splashForm
http://www.codeproject.com/csharp/ApplicationContextSplash.asp?target=splashForm
http://blog.csdn.net/zhzuo/archive/2006/06/30/857405.aspx
http://blog.csdn.net/zhzuo/archive/2006/07/04/874745.aspx
启动窗体问题,
http://www.codeproject.com/csharp/apploadingarticle.asp?target=splashForm
http://www.codeproject.com/csharp/ApplicationContextSplash.asp?target=splashForm
#10
1楼正解,下面的方法都不好,怎么还向上面贴
#11
我现在也正研究这个问题呢
#12
都好都好,呵呵!在进程里监控也好啊,嘿嘿.
没理由不让人多发点例子,LZ也好多学习几个方法.
#13
强大。、。。。谢谢了·~~
#14
7楼的方法,如果程序名称一样,就无法启动,如果改了程序名称,就会无法生效
#1
主窗体.Hide();
副窗体.Show();
program.cs
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (runone())
Application.Run(new Form1
());
}
private static System.Threading.Mutex mutex;
private static bool runone()
{
bool one;
//WindowsApplication2 住窗体的title。
mutex = new System.Threading.Mutex(true, "WindowsApplication2", out one);
return one;
}
}
副窗体.Show();
program.cs
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (runone())
Application.Run(new Form1
());
}
private static System.Threading.Mutex mutex;
private static bool runone()
{
bool one;
//WindowsApplication2 住窗体的title。
mutex = new System.Threading.Mutex(true, "WindowsApplication2", out one);
return one;
}
}
#2
一楼的都说了!!
#3
主窗体work 副窗体logo,怎么能实现启动程序显示logo隐藏work?
==
在Program.cs中
Application.Run(new logo());
==
在Program.cs中
Application.Run(new logo());
#4
可以考虑使用application.idel+=在进程空闲的时候来做
#5
只允许一个实例运行
建议楼主看看设计模式里面的单件模式
建议楼主看看设计模式里面的单件模式
#6
将logo的显示放在主窗体显示之前显示,等主窗体加载完成后让logo关闭就可以了
#7
如果程序111已经运行起来了,再双击111.exe提示“程序运行中”,之后不再运行该程序如何实现,谢谢
--------------
这个可以通过process获得系统的进程,然后判断看是否存在该进程
具体:
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcesses();
for(...)
{
if (p[i].ProcessName == "111.exe")
{ }
}
--------------
这个可以通过process获得系统的进程,然后判断看是否存在该进程
具体:
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcesses();
for(...)
{
if (p[i].ProcessName == "111.exe")
{ }
}
#8
单实例运行
这个有很多方法,借用“baidu一下就知道”
这个有很多方法,借用“baidu一下就知道”
#9
程序唯一实例问题,
http://blog.csdn.net/zhzuo/archive/2006/06/30/857405.aspx
http://blog.csdn.net/zhzuo/archive/2006/07/04/874745.aspx
启动窗体问题,
http://www.codeproject.com/csharp/apploadingarticle.asp?target=splashForm
http://www.codeproject.com/csharp/ApplicationContextSplash.asp?target=splashForm
http://blog.csdn.net/zhzuo/archive/2006/06/30/857405.aspx
http://blog.csdn.net/zhzuo/archive/2006/07/04/874745.aspx
启动窗体问题,
http://www.codeproject.com/csharp/apploadingarticle.asp?target=splashForm
http://www.codeproject.com/csharp/ApplicationContextSplash.asp?target=splashForm
#10
1楼正解,下面的方法都不好,怎么还向上面贴
#11
我现在也正研究这个问题呢
#12
都好都好,呵呵!在进程里监控也好啊,嘿嘿.
没理由不让人多发点例子,LZ也好多学习几个方法.
#13
强大。、。。。谢谢了·~~
#14
7楼的方法,如果程序名称一样,就无法启动,如果改了程序名称,就会无法生效