C# 判断程序是否已经在运行
方式1:
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
//获取欲启动进程名
string strProcessName = System.Diagnostics.Process.GetCurrentProcess().ProcessName;
////获取版本号
//CommonData.VersionNumber = Application.ProductVersion;
//检查进程是否已经启动,已经启动则显示报错信息退出程序。
if (System.Diagnostics.Process.GetProcessesByName(strProcessName).Length > )
{ MessageBox.Show("CtiAgentClient呼叫中心客户端已经运行!", "消息", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Application.Exit();
return;
} Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMain());
}
方式2:
第一种方式:利用Mutex互斥量实现同时只有一个进程实例在运行
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{ Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//控制当前程序已经打开(即启动)
//方式1:利用Mutex互斥量实现同时只有一个进程实例在运行
//互斥锁(Mutex)
//互斥锁是一个互斥的同步对象,意味着同一时间有且仅有一个线程可以获取它。
//互斥锁可适用于一个共享资源每次只能被一个线程访问的情况
bool flag = false;
System.Threading.Mutex hMutex = new System.Threading.Mutex(true, Application.ProductName, out flag);
bool b = hMutex.WaitOne(, false);
/*上面的参数说明:
第一个参数【initiallyOwned】:true:指示调用线程是否应具有互斥体的初始所有权 (老实说没理解透)
第二个参数【name】:程序唯一name,(当前操作系统中)判定重复运行的标志
第三个参数【createdNew】:返回值,如果检测到已经启动则返回(false)。
*/
if (flag)
{
//没有启动相同的程序
Application.Run(new MainForm());
}
else
{
MessageBox.Show("当前程序已在运行,请勿重复运行。");
Environment.Exit();//退出程序
}
}
}
C# 判断程序是否已经在运行的更多相关文章
- WinForm判断程序是否已经在运行,且只允许运行一个实例
		我们开发WinFrom程序,很多时候都希望程序只有一个实例在运行,避免运行多个同样的程序,一是没有意义,二是容易出错. 为了更便于使用,笔者整理了一段自己用的代码,可以判断程序是否在运行,只运行一个实 ... 
- dotnet 判断程序当前使用管理员运行降低权使用普通权限运行
		有一些程序是不想通过管理员权限运行的,因为在很多文件的读写,如果用了管理员权限程序写入的程序,其他普通权限的程序是无法直接访问的.本文告诉大家如何判断当前的程序是通过管理员权限运行,然后通过资源管理器 ... 
- C# 判断程序是否已在运行
		方法一: Process[] processes = rocess.GetProcessesByName("ConDemo"); ) { MessageBox.Show(" ... 
- 2019-8-31-dotnet-判断程序当前使用管理员运行降低权使用普通权限运行
		title author date CreateTime categories dotnet 判断程序当前使用管理员运行降低权使用普通权限运行 lindexi 2019-08-31 16:55:58 ... 
- C#.NET Form设置/取消开机自动运行,判断程序是否已经设置成开机自动启动(转载)
		#region//开机自动运行 private void CB_Auto_CheckedChanged(object sender, EventArgs e) {//CB_ ... 
- C#判断程序是否以管理员身份运行,否则以管理员身份重新打开
		/// <summary> /// 判断程序是否是以管理员身份运行. /// </summary> public static bool IsRunAsAdmin() { Wi ... 
- 判断程序是否在VMWare内运行
		现在有许多用户都喜欢用虚拟机来测试他们的软件,以避免对真实机器环境造成损害.但是在虚拟机中,有些功能是受限,甚至不可能完成的,因此,需要在程序中判断虚拟机的环境,如果程序在虚拟机内运行,则就要把虚拟机 ... 
- NSIS:判断程序是否运行并进行卸载
		原文NSIS:判断程序是否运行并进行卸载 今天在评论里看到网友说要一个这样的功能,就简单写了一个,本来想做360杀手来着,但遗憾的是我从来不用360的东西,所在电脑上也没有360相关的软件进行测试,所 ... 
- C#:判断当前程序是否通过管理员运行
		原文:C#:判断当前程序是否通过管理员运行 public bool IsAdministrator() { WindowsIdentity current = WindowsIdentity.GetC ... 
随机推荐
- 工具类APP
			应用名称 工具S 英文名称 未填写 应用描述 工具类APP 英文描述 未填写 应用官网 this 应用图标 
- 虚拟网络编辑器的知识和出现的一些问题(没有VMnet0或VMnet8)
			不多说,直接上干货! 安装好的虚拟机,没有VMnet0!!! 解决的办法: 就可以了. 那么,问题现在又来了? 但是,每次都要这样,以右键,管理员身份运行,再关闭之后,以普通双击方式,即又没有VMne ... 
- 笛卡尔积算法的sku
			1.笛卡尔积在形式上比较容易理解,但作为按钮操作DOM的时候,我的思路大体还可以,有些偏差.看到这种矩行方阵,首先联想到二维数组,事实上这种方法完全可以实现,但是在性能和编码速度上都有弊端. 2.以下 ... 
- UTF8最好不要带BOM
			摘自:http://www.cnblogs.com/findumars/p/3620078.html 几周前还在为BOM的问题苦恼着...正如@梁海所说,“不含 BOM 的 UTF-8 才是标准形 ... 
- tomcat 日志详解
			1 tomcat 日志详解 1.1 tomcat 日志配置文件 tomcat 对应日志的配置文件:tomcat目录下的/conf/logging.properties. tomcat 的日志等级有 ... 
- Joda-Time 学习笔记
			一 Jode-Time 介绍 任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛苦和繁琐.既然 ... 
- SVN 基本的工作循环
			基本的工作循环 Subversion有许多特性.选项和华而不实的高级功能,但日常的工作中你只使用其中的一小部分,在这一节里,我们会介绍许多你在日常工作中常用的命令. 典型的工作周期是这样的: 更新你的 ... 
- 转载:SQL按照日、周、月、年统计数据的方法
			转载源:http://www.jb51.net/article/42613.htm SQL按照日.周.月.季度.年统计数据的方法 方式一: --按日 select sum(consume),day([ ... 
- 工程中添加工程依赖  Xcode iOS
			有时我们需要在一个主工程中添加其他的子工程,用来对子工程进行编写修改或者是利用子工程中的库文件等等操作,这时候我们需要用到工程的嵌套. 步骤:(看图说话) 1.新建主工程,名为TestTTTT ... 
- jeecg框架解决跨域问题
			controller层方法体中添加如下代码 response.setHeader("Access-Control-Allow-Origin", "*");res ... 
