zoukankan      html  css  js  c++  java
  • C++ 多用户模式下同一个exe只能运行一次

    1、有时候会遇到多用户模式下一不小心会运行多个exe的问题,所以程序中添加一下代码解决这个问题:

    BOOL CtestDialogApp::InitInstance()
    {
        char exeFullPath[MAX_PATH] = {0}; // MAX_PATH在API中有定义
        int len=GetModuleFileNameA(NULL,
                exeFullPath, //应用程序的全路径存放地址
                MAX_PATH);
        std::string path = exeFullPath; //配置文件名
        path = path.substr(path.rfind("\")+1);
    
        HANDLE hMutex = ::CreateMutex(NULL,TRUE,("Global\"+ path).c_str());
    
        if(GetLastError() == ERROR_ALREADY_EXISTS || ERROR_ACCESS_DENIED == GetLastError())
        {
            MessageBox(NULL,"Has been running!","MT4 Manager Interface", MB_ICONEXCLAMATION );
            return FALSE;
        }
      return FALSE;
    }
    

      注意:

    如果不加"Global\"只能实现同一个用户下只能运行一个exe的情况
  • 相关阅读:
    『Python基础』第3节:变量和基础数据类型
    Python全栈之路(目录)
    前端
    Python十讲
    Ashampoo Driver Updater
    druid 连接池的配置
    webService 入门级
    pom
    pom----Maven内置属性及使用
    webservice 总结
  • 原文地址:https://www.cnblogs.com/alinh/p/9475653.html
Copyright © 2011-2022 走看看