首页 > 系统相关 >WPF单进程实例

WPF单进程实例

时间:2023-05-18 10:34:21浏览次数:33  
标签:OnStartup System 实例 Mutex isSingleInstance 进程 mutex WPF bool

用互斥量Mutex实现

如果已经存在Mutex,则会创建失败。

注意:Mutex要声明成全局的,不能是局部变量,否则会判断失败。

 

重写Startup函数,加上单例判断。

参考下面代码:

 1  public partial class App : Application
 2     {
 3         System.Threading.Mutex mutex;
 4 
 5         protected override void OnStartup(StartupEventArgs e)
 6         {
 7             if (CheckSingleInstance() == false)
 8                 Application.Current.Shutdown(0);
 9 
10             base.OnStartup(e);
11         }
12 
13         private bool CheckSingleInstance()
14         {
15             bool isSingleInstance;
16             mutex = new System.Threading.Mutex(true, "MutexName", out isSingleInstance);
17             return isSingleInstance;
18         }
19     }

 

标签:OnStartup,System,实例,Mutex,isSingleInstance,进程,mutex,WPF,bool
From: https://www.cnblogs.com/zhaotianff/p/17411156.html

相关文章

  • 从桌面端到移动端,.NET MAUI为什么对WPF开发人员更简单?
    .NET多平台应用程序UI(.NETMAUI)的市场吸引力与日俱增,这是微软最新的开发平台,允许开发者使用单个代码库创建跨平台应用程序。尽管很多WPF开发人员还没有跟上.NETMAUI的潮流,但我们将在这篇文章中为大家展示他的潜力,具体来说想描述一下WPF和.NETMAUI之前的共性。PS:DevExpressWP......
  • WPF.Basic.样式基础(一)
    WPF的样式总的来说有两种使用方式1.全局样式1.1在Windows.Resources下定义全局样式,当然Style作为一种资源,也可以在其他的地方定义资源(当没有X:KEY(扩展标记)值的时候就是对TargetType都有用,无语targetType绑定资源)1<Windows.Resources>2<Stylex:Key="Buttonstyle......
  • OpenFileDialog的使用实例
    'DimexcelFolderPathAsString=""'DimopenFileDialog1AsNewOpenFileDialog()'openFileDialog1.Filter="ExcelFiles|*.xlsx;*.xls"'openFileDialog1.Title="SelectExcelFile"......
  • WPF 异步加载数据,窗体事件
    加载WPF界面时,需要获取数据,而数据返回的时间比较长,这个时候可以异步加载数据到界面。 1、首先在XAML中触发窗口载入事件 2、在后台代码中处理窗口载入事件(1)找到主窗口类 (2)在MainWindow类中添加XAML中加入的窗口载入事件 这个事件中可以放置各种界面预处理代码 n......
  • 33、实例化对象有哪几种方式
    newclone()通过反射机制创建//用Class.forName方法获取类,在调用类的newinstance()方法Class<?>cls=Class.forName("com.dao.User");Useru=(User)cls.newInstance();序列化反序列化//将一个对象实例化后,进行序列化,再反序列化,也可以获得一个对象(远程通信的场景下使用......
  • grafana操作实例3
    dashboard版本管理     dashboard自动刷新      大屏编辑     每个dashboard都需要去设置是否开启编辑         ......
  • 西门子1200plc程序实例,TCP/IP及modbus通讯,版本V15,如有需要也可代写程序。
    西门子1200plc程序实例,TCP/IP及modbus通讯,版本V15,如有需要也可代写程序。功能如下:1,西门子1200控制4台步进电机;2,西门子1200与4台MS300变频器modbus485轮询读写参数;3,西门子1200与上位机TCP/IP通讯控制相机拍照,反馈数据;4,设备为多工位联动控制;5,威纶通人机界面多画面切换可以作为参考......
  • Linux多进程20-共享内存
    共享内存共享内存允许两个或多个进程共享物理内存的同一块区域(通常称为段)一个共享内存段会成为一个进程用户空间的一部分,因此这种IPC机制无需内核介入,所有需要做的就是让一个进程将数据复制进共享内存中,并且这部分数据会对其他所有共享同一个段的进程可用管道是要求发......
  • Linux多进程19-SIGCHLD 信号
    SIGCHLD信号产生的条件子进程终止时子进程接收到SIGSTOP信号停止时子进程处在停止态,接受到SIGCONT后唤醒时以上三种条件都会给父进程发送SIGCHLD信号,父进程默认会忽略该信号父进程捕捉到SIGCHLD信号时调用wait,waitpid回收子进程资源,解决僵尸进程问题sigchld.c/*......
  • Linux多进程18-sigaction 信号捕捉函数
    #include<signal.h>intsigaction(intsignum,conststructsigaction*act,structsigaction*oldact);-功能:检查或者改变信号的处理,信号捕捉-参数:-signum:需要捕捉的信号的编号或者宏值(信号的名称)-act:捕捉到信......