C#只启动一个进程的代码
把写内容过程中经常用到的内容做个收藏,如下的内容是关于C#只启动一个进程的内容。
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
Process currentProcess = Process.GetCurrentProcess();
foreach (Process item in Process.GetProcessesByName(currentProcess.ProcessName))
{
if (item.Id != currentProcess.Id &&
(item.StartTime - currentProcess.StartTime).TotalMilliseconds <= 0)
{
item.Kill();
item.WaitForExit();
break;
}
}
base.OnStartup(e);
}
}
对于Winform的则直接在主窗体的构造其中判断。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
StartUp();
}
private void StartUp()
{
Process currentProcess = Process.GetCurrentProcess();
foreach (Process item in Process.GetProcessesByName(currentProcess.ProcessName))
{
if (item.Id != currentProcess.Id &&
(item.StartTime - currentProcess.StartTime).TotalMilliseconds <= 0)
{
item.Kill();
item.WaitForExit();
break;
}
}
}
}
简单的代码就可以完成这个功能。
C#只启动一个进程的代码的更多相关文章
- java程序怎么在一个电脑上只启动一次,只开一个进程
目录 <linux文件锁flock> <NIO文件锁FileLock> <java程序怎么在一个电脑上只启动一次,只开一个进程> 方案1: 单进程程序可以用端口绑定 ...
- C#/WPF 仅启动一个进程实例
如何实现仅启动一个 WPF 进程实例,并在打开第二个时,自动唤起之前打开的进程. 1 代码入口 在 App.xaml.cs 文件中,重写 OnStartup 方法,并添加 Mutex 进程锁. /// ...
- 设置IE8 多个Table只产生一个进程
//设置IE8 多个Table只产生一个进程 using Microsoft.Win32; RegistryKey key = Registry.LocalMachine; RegistryKey s ...
- WinFrom 只启动一个exe,并且获得焦点
只启动一个exe方法: using System; using System.Collections.Generic; using System.Runtime.InteropServices; us ...
- MFC 只启动一个程序实例
问题描述: 我们开发过程中可能会经常遇到,只启动一个程序实例.即一个程序启动之后,如果再次执行该程序,将会恢复之前打开的程序,而不是打开一个新的程序. 实现原理:利用FindWindow/FindWi ...
- electron限制只启动一个应用
electron限制只启动一个应用 // ========================================================== // 限制只可以打开一个应用,2.x的文 ...
- 【.net 深呼吸】启动一个进程并实时获取状态信息
地球人和火星人都知道,Process类既可以获取正在运行的进程,也可以启动一个新的进程.在79.77%应用场合,我们只需要让目标进程顺利启动就完事了,至于它执行了啥,有没有出错,啥时候退出就不管了. ...
- C# 只启动一个实例完全解决方案
工作上经常会遇到"程序只能启动一个实例"这样的需求. 我想,这样的需求应该很普遍,所以没打算去动脑筋,去找谷歌问下就得了,用下来发现,不是这里不爽就是那里不行. 先说下我详细的几点 ...
- WinForm程序,实现只启动一个实例
前言:在我们做的软件中,当点击图标运行时,正常的需求是只需要启动一个软件的实例,这是非常重要的一点,不然就显得我们的软件非常的山寨,笔者在工作中经常遇到同事没有注意这一点,看是不重要,实则非常的重要, ...
随机推荐
- React相关知识和经验的碎片化记录
React相关知识和经验的碎片化记录 1.Warning: validateDOMNesting(...): Whitespace text nodes cannot appear as a chil ...
- YII2 选择布局
方案1:控制器内成员变量 public $layout = false; //不使用布局 public $layout = "main"; //设置使用的布局文件 方案2:控制器成 ...
- 【转】jvm 堆内存 栈内存 大小设置
原文地址:http://blog.csdn.net/qh_java/article/details/46608395 4种方式配置不同作用域的jvm的堆栈内存! 1.Eclise 中设置jvm内存: ...
- kcp源码segment头文件各字段含义
conv conv为一个表示会话编号的整数,和tcp的 conv一样,通信双// 方需保证 conv相同,相互的数据包才能够被认可 cmd cmd用来区分分片的作用.IKCP_ ...
- QGIS与Python
Qgis python开发教程(一):https://blog.csdn.net/u011435933/article/details/80419496
- Python之set集合与collections系列
1>set集合:是一个无序且不重复的元素集合:访问速度快,解决了重复的问题: s2 = set(["che","liu","haha" ...
- 系统蓝屏stop:ox000007B错误解决方案
解决方法:开机进入bios:BIOS->Advanced->SATA Mode:[AHCI改为ATA或Compatibility],然后F10保存退出. ATA是指硬盘使用IDE兼容模式, ...
- fiddler-实现https抓包
1. fiddler设置-fiddler options-https项进行设置,如下: 2. ie代理设置:连接-局域网设置 3. 下载fiddler根证书,ie浏览器上打开地址:http://1 ...
- scvmm2008 错误 2921 0x8007054F
这个错误是由于bits智能传输服务依赖的https 443端口被占用.443端口一般常用于银行.购物网站,是一种加密的http,一般是通过ssl安全套接字来加密的,但是ssl漏洞可能被木马病毒利用. ...
- Split 之特殊用法
java中split()特殊符号"." "|" "*" "\" "]" 关于点的问题是用stri ...