实现功能,当程序已经运行时,禁止另外开启一个同样的程序,这时可以使用进程互斥实现,即创建一个有名字的互斥量

在windows下Win32程序:

#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")    //取消dos框的弹出#include "windows.h"
#include "stdio.h"
int main()
{HANDLE m_hMutex = CreateMutex(NULL, TRUE, "mutex_1");  //创建名称为mutex_1的互斥量DWORD dwRet = GetLastError();if (m_hMutex){if (ERROR_ALREADY_EXISTS == dwRet){MessageBox(NULL,"同样的程序已运行,不能再次运行!","warning!",MB_OK);CloseHandle(m_hMutex);return 0;}}else{MessageBox(NULL, "创建互斥量错误,程序退出!", "warning!", MB_OK);CloseHandle(m_hMutex);return 0;}MessageBox(NULL, "程序运行起来了", "进程1", MB_OKCANCEL);CloseHandle(m_hMutex);return 0;
}

2.windows下QT程序

int main(int argc,char *argv[])
{//创建临界区QSharedMemory mem("myMemoryObject");if(!mem.create(1)){//提示窗可替换为QT的MessageBox(NULL,_T("程序已运行一个实例!"),_T("提示"),0);return 0;}
}

进程互斥(当前程序已运行)相关推荐

  1. plot_route(pos_r); matlab,蚁群算法 matlab程序(已运行) - lyp2003ok的专栏 - CSDN博客

    个城市 Pcum=cumsum(P); %cumsum,元素累加即求和 Select=find(Pcum>=rand);%若计算的概率大于原来的就选择这条路线 to_visit=J(Select ...

  2. Linux进程互斥——临界资源访问

    经典的进程同步问题--临界资源访问 模拟临界资源访问的示例程序 示例程序代码 运行结果 改造程序,使错误易于观察 代码如下 运行结果 利用信号量机制实现进程互斥功能 示例代码 运行结果 模拟临界资源访 ...

  3. Linux进程被锁定,解决yum时出现 /var/run/yum.pid 已被锁定,PID 为 3548 的另一个程序正在运行。...

    在CentOS 7.5下使用yum时出现系统处于锁定状态的解决方法. 问题如下: [linuxidc@localhost Linux公社 www.linuxidc.com]$ sudo yum ins ...

  4. VMware Workstation提示:另一个程序已锁定文件的一部分,进程无法访问,删除.lck文件夹和文件

    一.现象 VMware Workstation提示:另一个程序已锁定文件的一部分,进程无法访问,截图如下: 二.原因 因为虚拟机在运行的时候,会锁定文件,防止被修改,而如果系统突然崩溃,虚拟机就来不急 ...

  5. 让powershell同时只能运行一个脚本(进程互斥例子)

    powershell,mutex,互斥,进程互斥,脚本互斥 powershell脚本互斥例子,在powershell类别文章中,声明原创唯一. powershell 传教士 原创文章 2016-07- ...

  6. linux进程莫名其妙被kill,Linux运行程序时,程序进程莫名退出(被杀死)

    Linux运行程序时,程序进程莫名退出(被杀死) 1.知识点 1)Linux程序进程被杀,日志突然中止,可以考虑是否因为程序占用内存过高,导致系统内存不足,为避免系统崩溃,系统寻找内存占用最大的进程k ...

  7. Visual Studio “另一个安装程序已开始运行。请先等它完成,然后再重试”和“正在进行其他安装,请稍后重试...”解决方法

    Visual Studio 看到错误消息"另一个安装程序已开始运行.请先等它完成,然后再重试." 故障现象 多次尝试安装 Visual Studio 后,后续尝试安装时看到错误消息 ...

  8. 日常BUG总结:另一个程序已锁定文件的一部分,进程无法访问 打不开磁盘

    晚上电脑自行关机,第二天再次开机,打开VMware,出现如下错误: 另一个程序已锁定文件的一部分,进程无法访问 打不开磁盘"E:\Ubuntu\Ubuntu 64 位.vmdk"或 ...

  9. C#在窗体程序中运行控制台程序并管理其进程

    运行环境 .Net Framework-4.7.1 visual studio 2017 一. 控制台程序的运行 使用Process类,官方文档地址 使用样例: public void FrpStar ...

  10. VMware Workstation——虚拟机启动Ubuntu系统时报错:“另一个程序已锁定文件的一部分,进程无法访问”解决办法

    [系列专栏]:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! <QT开发实战> <嵌入式通用开发实战> <嵌入式Linux开发实战> [问题]: 元旦前 ...

最新文章

  1. 一个计算机高手的成长(转)
  2. php 将换行符替换,PHP替换回车换行符的三种方法
  3. 做为web前端工程师的体验
  4. 程序员之提升开发效率非常实用的十个工具网站分享
  5. JUnit 5 –动态测试
  6. c语言屏蔽按键,VC实现让关闭按钮成灰色不可用的方法
  7. 传统白板行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  8. misc on starcraft----starcraft2
  9. 如何使用腾讯云存储图片
  10. 解决vue项目背景图片在IE和火狐上不显示的问题
  11. 教你炒股票13:不带套的操作不是好操作!
  12. VFIO代码分析(3)VFIO-PCI驱动2
  13. 小计:reducer 到底是什么,白话理解
  14. 小程序搜索页面搜索记录和热门搜索实现
  15. dos下拷贝服务器文件命令行,win7在DOS环境下怎么使用copy命令?使用copy命令复制文件的方法...
  16. 安卓手机运行python程序
  17. 传统数据库辉煌不再,云数据库迎来黄金时代
  18. 小马哥经典摘抄语录之 ————-有创业及野心的一定要看
  19. 史上最简单的图片二维码识别
  20. 海量数据去重 oracle,Oracle海量数据(1000w+)重复数据删除方法

热门文章

  1. Linux设置时间和硬件时间
  2. LAMP之PHP服务的安装(libphp7.so方式)
  3. cad结构字体_AutoCAD字体选择:如何快速选中gbcbig.shx通用字体
  4. hashmap containsvalue时间复杂度_恕我直言,你真的了解HashMap吗?
  5. oracle+in+多,Oracle in子句过多的硬编码引发的故障
  6. map赋值给另一个map_如何写出一个能让面试官直呼“666”的深拷贝?
  7. java 字符单词匹配_如何使用Java RegEx匹配单词字符?
  8. 同一宿主机docker之间的两种通信方式
  9. win7下还原快捷方式的打开方式
  10. Python实现8中常用排序算法