当前位置: 首页 > news >正文

长沙网站排名方案南京知名室内设计公司

长沙网站排名方案,南京知名室内设计公司,鞍山58,贵州住房和建设厅网站今次介绍一个应用程序单例唯一运行方案的代码。 我们知道#xff0c;有些应用程序在操作系统中需要单例唯一运行#xff0c;因为程序多开的话会对程序运行效果有影响#xff0c;最基本的例子就是打印机#xff0c;只能运行一个实例。这里将笔者单例运行的代码共享出来…   今次介绍一个应用程序单例唯一运行方案的代码。   我们知道有些应用程序在操作系统中需要单例唯一运行因为程序多开的话会对程序运行效果有影响最基本的例子就是打印机只能运行一个实例。这里将笔者单例运行的代码共享出来需要的读者请自己复用该代码到自己的项目中即可。   1、  项目目录   下面是项目目录因为是一段代码所以给出的例子比较简单。            2、  代码介绍   这里的代码挺简单的就是获取应用程序的GUID和运行的进程进行判断因为GUID唯一所以更改了程序名称或者改变了目录都不会有影响而运行进程判断是附加的方式防止当前目录的程序运行多次。 1 namespace ProgramInstance2 {3 using System;4 using System.Diagnostics;5 using System.Reflection;6 using System.Runtime.InteropServices;7 using System.Threading;8 9 10 /// summary 11 /// 单例程序操作类 12 /// /summary 13 internal class SingleInstance 14 { 15 /// summary 16 /// 程序是否运行 17 /// /summary 18 /// returnstrue 程序已运行false 程序未运行/returns 19 internal static bool IsRunning(out Process process) 20 { 21 //如果判断全系统唯一直接用下列方法如果判断当前文件夹唯一则将GUID判断去掉 22 new Mutex(true,           new Guid(((GuidAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(),             typeof(GuidAttribute))).Value).ToString(N),           out bool createdNew); 23 process RunningInstance(); 24 return (!createdNew || (process ! null)); 25 } 26 /// summary 27 /// 获取当前程序进程实例 28 /// /summary 29 /// returns程序进程实例/returns 30 private static Process RunningInstance() 31 { 32 Process currentProcess Process.GetCurrentProcess(); 33 foreach (Process process in Process.GetProcessesByName(currentProcess.ProcessName)) 34 { 35 if ((process.Id ! currentProcess.Id)               (Assembly.GetExecutingAssembly().Location.Replace(/, \) currentProcess.MainModule.FileName)) 36 { 37 return process; 38 } 39 } 40 return null; 41 } 42 } 43 }1 namespace SingleInstance2 {3 using System;4 using System.Diagnostics;5 using System.Runtime.InteropServices;6 using System.Windows.Forms;7 8 /// summary9 /// 程序类 10 /// /summary 11 internal static class Program 12 { 13 [DllImport(User32.dll)] 14 private static extern bool SetForegroundWindow(IntPtr hWnd); 15 [DllImport(User32.dll)] 16 private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow); 17 18 /// summary 19 /// 应用程序的主入口点 20 /// /summary 21 [STAThread] 22 static void Main() 23 { 24 if (ProgramInstance.SingleInstance.IsRunning(out Process process)) 25 { 26 ShowWindowAsync(process.MainWindowHandle, 9 | 1); 27 SetForegroundWindow(process.MainWindowHandle); 28 29 return; 30 } 31 32 33 Application.EnableVisualStyles(); 34 Application.SetCompatibleTextRenderingDefault(false); 35 36 Application.Run(new Form1()); 37 } 38 } 39 }3、  运行截图   因为是代码段复用所以这里不提供运行截图了。   4、  源码下载   需要该例子代码的请移步到下面链接进行下载   https://download.csdn.net/download/lzhdim/88158095   上面介绍了C#编写的应用程序单例运行的例子希望对有该需求的读者以帮助。后面会将笔者认为有用的代码段共享出来让需要的读者进行代码段复用。   注如果需要应用程序多开(放到其它文件夹中或者在当前文件夹中复制更改应用程序名称)请将GUID的判断去掉即可。
http://www.sadfv.cn/news/84653/

相关文章:

  • 武进网站建设方案硬件开发工程师招聘
  • 网站免费注册域名网站后台怎么修改代码
  • seo如何做网站建设广东建设银行招聘网站
  • 漯河网站建设(千弘网络)discuz安装教程
  • 网站建设域名备案谁负责百度打广告多少钱
  • 网站开发融资京津冀协同发展背景
  • 蓝色风格企业网站企查查怎么精准找客户
  • 家居网站应该怎么做阿里云1M做网站
  • 使用flashfxp上传网站建设银行新加坡分行网站
  • 专业制作网站的公司网站推广合同
  • 建什么网站做cpa局域网网站开发
  • 企业网站建设需求调研表早那么做商城网站
  • 医院网站建设基本功能WordPress会员卡插件
  • 浙江网站建设公司名单网站怎么做百度商桥
  • dedecms网站开发环境wordpress免插件图床
  • 海南行指三亚网站开发wordpress 父分类名称
  • 广东住房和建设局网站专门做网站的公司 南阳
  • 网站首页收录突然没有了建设企业外贸网站
  • 建筑企业招聘网站织梦者网站模板
  • 做网站需要写代码吗在哪注册域名
  • 包头教育平台网站建设婺源做网站
  • 东莞网站制作哪里好如何给wordpress导航添加图标
  • 超市网站建设策划书潍坊建设网站的公司
  • 做网站需要icp吗中企动力企业邮箱下载
  • 长沙市网站制作起名最好的网站排名
  • 南宁网站设计公司排名做一个网站的建设流程
  • 建网站支持设备是什么意思百度网盟推广 网站
  • 网站建设方案报告一个专门做视频配音的网站
  • 上海网站建设官方网站网站开发有哪些参考文献
  • 兖州中材建设有限公司网站网页版传奇大全