1.添加CWinApp派生类的成员变量

    HANDLE _hEvent;

2.在InitInstance中创建命名事件对象,并设置为有信号状态 

    //创建事件对象,可用命名事件对象来控制只运行一个实例
    _hEvent=CreateEvent(NULL,
                                             FALSE                                 //TRUE人工重置,FALSE 自动重置
                                             FALSE,                                  //初始化状态,TURE信号状态,FALSE非信号状态
                                             "GUID_QINGFENGJU");  //事件对象命名,NULL表示匿名
    if(_hEvent)
    {
       if(ERROR_ALREADY_EXISTS == GetLastError())
       {
         PostQuitMessage(0);
         return FALSE;
       }
     }

     SetEvent(_hEvent);//将事件设置为有信号状态 

3.在ExitInstance中关闭事件对象

    CloseHandle(_hEvent);


本文链接地址: 用命名事件对象来实现只运行一个实例
https://blog.qingfengju.com/index.asp?id=37

上一篇: 一个Ini文件解析类CIniFileParse
下一篇: Ch/CINT — C/C++语言脚本解释器

分类:Win32/C++ 查看次数:6587 发布时间:2009/5/20 18:21:08