码迷,mamicode.com
首页 > 其他好文 > 详细

用命名事件对象来实现只运行一个实例

时间:2016-05-14 01:03:35      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

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);

用命名事件对象来实现只运行一个实例

标签:

原文地址:http://www.cnblogs.com/dgx/p/5491502.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!