有的程序需要单实例。

  除了互斥之外,其实还要关注两个问题(这个是本文特有的,是实实在在工作中遇到的):

  1. 程序被杀、崩溃之后,再次启动是否正确。
  2. 多用户时,是否也是一个实例?如果一个用户一个实例,那么关键值就要加上用户名。
#include <windows.h>int main(int argc, char *argv[])
{HANDLE hMutex = CreateMutex(NULL, FALSE, "quantum7");DWORD dwError = GetLastError();if (ERROR_ALREADY_EXISTS == dwError || ERROR_ACCESS_DENIED == dwError){// 已经有实例了,退出。return;}//运行实例,做事。//退出时的操作。实际测试中发现,进程杀死,再次启动是正确的。所以应该是进程退出后自动删除。CloseHandle(hMutex);return 0;}

windows单实例的办法相关推荐

  1. 设计模式(三)单实例模式

    引言 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务:一个系统只能有一个窗口管理器或文件系统:一个系统只能有一个计时工具或ID(序号)生 ...

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

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

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

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

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

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

  5. 不同浏览器对回车提交表单的处理办法(转载)

    不同浏览器对回车提交表单的处理办法(转载) 对下面的一段代码,刚开始使用 onClick 事件,在 IE 6.0 中,要按"提交"按扭才起做用,直接回车不行,而在 firefox ...

  6. 单实例设计模式的实现

    2019独角兽企业重金招聘Python工程师标准>>> 今天中午看到一个面试题,是这样的,"怎样设计一个类,使其只能有一个实例",知道设计模式的程序员可能很快就能 ...

  7. suse安装mysql_SuSE12安装MySQL5.7.22:编译安装方式、单实例

    摘要:SuSE12.1 64位操作系统. MySQL5.7.22 编译安装.单实例 带boost和不带boost的编译安装 注:kingtry是我的主机名 一.环境准备 操作系统:SuSE版本12.1 ...

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

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

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

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

  10. Oracle DataBase单实例使用ASM案例(2)--Oracle 11g之环境准备

    Oracle DataBase单实例使用ASM案例(2)--Oracle 11g之环境准备 系统环境: 操作系统:RedHat EL5(64) Oracle 软件:Oracle 11gR2.Oracl ...

最新文章

  1. ERROR: Failed to resolve: com.android.databinding:library:3.4.2
  2. 1、一、Introduction(入门): 0、Introduction to Android(引进到Android)
  3. python给图片添加字符
  4. ADO.NET Entity Framework之ObjectQuery
  5. 前端学习(2830):条件渲染
  6. win7计算机右键属性桌面进程重启,win7计算机右键属性打不开怎么办
  7. 我帮公司财务写了个“群发工资条”的Python脚本!
  8. 用户态Linux内核
  9. Unity的Json解析二–写Json文件
  10. ubuntu配置spyder和jupyter notebook的工作目录
  11. Linux中关于链表的遍历
  12. 贴片电阻封装功率数据选型
  13. PiliPala Player-a simple media player
  14. diskpart命令详解
  15. 2021年全球与中国飞机导航镜行业市场规模现状及企业市场份额分析
  16. FidMTF: An MTF Estimator (FidMTF:一种MTF估计方法)
  17. 用c#做的打地鼠小游戏,整理一下上课学的
  18. IDEA太强悍了!java导出excel合并单元格边框设置
  19. 【java 高并发编程之JUC】2w字带你JUC从入门到精通
  20. Ubuntu18.04 安装SDN ryu+mininet

热门文章

  1. python 数学画图工具_[python][数据分析] matplotlib 和 pyecharts的绘图工具
  2. Vue仿微信公众号配置页面
  3. NAACL 2018 | 最佳论文:艾伦人工智能研究所提出新型深度语境化词表征
  4. 14.5-全栈Java笔记:java.awt这些布局怎么写?|流式|边界|网格
  5. 《高性能Linux服务器构建实战:系统安全、故障排查、自动化运维与集群架构》——3.3 DRBD的管理与维护...
  6. Flexbox属性介绍
  7. 誉赐 PC阳光板www.ycpc.icoc.cn/详尽概述
  8. 学校的图书馆,很漂亮哦
  9. Excel-统计函数
  10. linux吃鸡游戏下载,网络大逃杀2077