// pszUniqueName需要以Global\\开头,且需保证事件名在整个计算机上唯一,可以使用GUID//BOOL CheckSingleInstance(LPCTSTR pszUniqueName) {HANDLE hMutex = CreateEvent(NULL, TRUE, FALSE, pszUniqueName);DWORD dwLstErr = GetLastError();BOOL bOneInstanceCheck = TRUE;if(hMutex) {if(dwLstErr == ERROR_ALREADY_EXISTS) {CloseHandle(hMutex);bOneInstanceCheck = FALSE;}}else {// 注:这一步不能遗漏,否则,不同session(会话)中仍然能存在多个实例。if(dwLstErr == ERROR_ACCESS_DENIED)bOneInstanceCheck = FALSE;}return bOneInstanceCheck;}
int main() {if(CheckSingleInstance(TEXT("Global\\9E27A5A3F6924FFFAE834E230CB27575") == FALSE) {printf("已经有一个实例在运行了\n");return 1;}return 0;
}

windows程序单实例相关推荐

  1. Qt实现应用程序单实例运行--LocalServer方式

    使Qt应用程序能够单实例运行的典型实现方法是使用共享内存实现.该方法实现简单,代码简洁. 但有一个致命缺陷:共享内存(QSharedMemory)实现的单程序运行,当运行环境是UNIX时,并且程序不幸 ...

  2. Qt单实例程序-->禁止程序多开

    一.前言 Qt编写的程序,默认是可以多开的,但是有些时候,我们不希望程序可以同时打开多个,这时候就需要对程序的启动添加限制策略,阻止程序多开. 二.常用的三种方法 1.使用共享内存 原理:运行主函数前 ...

  3. linux下程序如何实现单实例运行

    1.技术原理 无论是windows还是linux下,程序设计者都会遇到一个问题,那就是如何实现程序的单实例运行.比如,Windows自带的播放软件Windows Medea Player只能启动一个实 ...

  4. 创建单实例WPF应用程序的正确方法是什么?

    在.NET(而不是Windows Forms或控制台)下使用C#和WPF,创建只能作为单个实例运行的应用程序的正确方法是什么? 我知道它与某种称为互斥量的神话事物有关,我很少能找到一个烦人的人来阻止并 ...

  5. WPF学习笔记-单实例应用程序(包装器)

    1.添加引用Microsoft.VisualBasic 2.创建 app类 class App : System.Windows.Application{protected override void ...

  6. 创建WPF单实例应用程序

    1.自定义SingletonWindow类(此方法也适合于传统winform程序) using System; using System.Linq; namespace NetWorld { publ ...

  7. Singleton、MultiThread、Lib——实现单实例无锁多线程安全API

        前阵子写静态lib导出单实例多线程安全API时,出现了CRITICAL_SECTION初始化太晚的问题,之后查看了错误的资料,引导向了错误的理解,以至于今天凌晨看到另一份代码,也不多想的以为s ...

  8. 木马编程DIY (Delphi版) - 第2篇 单实例运行

    注:<木马编程DIY>由冷风(chinafe)创作完成.本文在其基础上将原文中的C++源代码修改为Delphi源代码,并加以相关说明.感谢冷风(chinafe)的无私奉献. 在02-03年 ...

  9. 孙鑫-MFC笔记一--Windows程序内部运行机制

    对于一个初学者来说,常常会用到各种库函数,例如printf等等,这些库函数是由你所使用的编译器厂商提供的,在Windows操作系统下,开发的应用程序, 也有这样的库函数,不同的是,这样的库函数,是有w ...

最新文章

  1. ruby应用:puppet
  2. 用python画皮卡丘画法-实现童年宝可梦,教你用Python画一只属于自己的皮卡丘
  3. VMware ESXI虚拟化安装win10系统
  4. Kubernetes API 聚合开发汇总
  5. unity深度查找某个子物体和遍历所有子物体方法
  6. android开发 文件分享到应用,Android 实现文件分享功能(共享多个文件)
  7. 华为升级harmonyos的机型名单,华为智慧屏HarmonyOS 1.0.1.50更新机型和方法
  8. Jquery消息提示插件toastr使用详解
  9. 云上的消费你真的算清楚了?
  10. 计算机系统集成项目工程师报名,2021年系统集成项目管理工程师报名流程
  11. COMSOL学习经验(不定期更新中哦~)
  12. 让所有版本的IE卡死的HTML代码
  13. 微信公众号发送模板通知
  14. revit 二次开发 链接CAD文件读取
  15. 地表反射率影响因素_全了,高考地理答题要点归纳!
  16. linux的账号锁定
  17. 舅妈的计算机课1-9,山东省济南市历下区2017届九年级教学三模语文试题(word版含答案)...
  18. 读书笔记:《自卑与超越》
  19. 使用OCR来解决自动化中图片验证
  20. Bouncy Castle的Java JCE安装方法

热门文章

  1. SLAM静态编译中动态链接库问题
  2. QCC305X-QCC304x系列开发教程(系统篇)之3.4-Mirroring详解
  3. 雷锋网的那些段段(一)。
  4. html中 导航条置顶的代码6,JS+CSS实现六级网站导航主菜单效果
  5. 【开源SPL】列存数据仓库怎样更高效
  6. Ubuntu安装KVM虚拟机
  7. 微信电脑端双击不能放大图片怎么回事_IOS 微信 聊天双击放大图片操作
  8. java-不死神兔百钱百鸡
  9. cat5e跑万兆_全网最标准的万兆网线测试!超五类到底能不能跑万兆?
  10. 5G+智慧采矿应用概况