zoukankan      html  css  js  c++  java
  • windows下程序启动检查,只启动一个实例

    问题来源:http://bbs.csdn.net/topics/390998279?page=1#post-398983061

    // Only_once.cpp : 定义控制台应用程序的入口点。
    //
    
    
    
    
    
    //请参考<<windows核心编程>>
    #include "StdAfx.h"
    #include <iostream>
    #include <windows.h>
    using namespace std;
    
    #define MUTEX_NAME     TEXT("Global//onename")//onename可以改别的
    
    bool IsSingleProcess()
    {
    	HANDLE hMutex = CreateMutex(NULL, FALSE, MUTEX_NAME);
    	if (GetLastError() == ERROR_ALREADY_EXISTS)
    	{
    		::CloseHandle(hMutex);
    		return FALSE;
    	}
    	else
    	{
    		return TRUE;
    	}
    }
    
    
    //函数名: exit()
    //
    //		 所在头文件:stdlib.h
    //
    //		 功 能: 关闭所有文件,终止正在执行的进程。
    //
    //		 exit(1)表示异常退出.这个1是返回给操作系统的。
    //
    //		 exit(x)(x不为0)都表示异常退出
    //
    //		 exit(0)表示正常退出
    //
    //		 exit()的参数会被传递给一些操作系统,包括UNIX,Linux,和MS DOS,以供其他程序使用。
    int main()
    {
    	if (!IsSingleProcess())
    	{
    		cout << "already exist" << endl;
    		getchar();
    		exit(1);
    	}
    	Sleep(100000);
    	return 0;
    }
    
    


     

  • 相关阅读:
    20150316--TP-01
    20150314--TP-02
    20150314--TP-01
    20150313+微信-全
    表单/iframe与video标签
    图像/超链接标签
    HTML列表与表格
    JAVA新的一天
    MySQL常用函数
    php基础--来自网页转载
  • 原文地址:https://www.cnblogs.com/wangyaning/p/7854023.html
Copyright © 2011-2022 走看看