进程互斥(当前程序已运行!)

windows c/c++ 专栏收录该内容
272 篇文章 4 订阅

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

在windows下:

#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;
}

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值