在继续进行一系列MFC类复制(对于知识渊博的人)时,这里是CEvent类复制:

class CEvent {
    HANDLE m_hEvent;
public:

    CEvent(
        BOOL bInitialState,
        BOOL bManualReset)
    {
        LPSECURITY_ATTRIBUTES lpEventAttributes = NULL;
        m_hEvent = CreateEvent(lpEventAttributes,
                                bManualReset,
                                bInitialState,
                                NULL);
    }

    ~CEvent()
    {
        m_hEvent = NULL;
    }

    BOOL SetEvent()
    {
        return ::SetEvent(m_hEvent);
    }

    BOOL ResetEvent()
    {
        return ::ResetEvent(m_hEvent);
    }
    HANDLE GetHandle()
    {
        return m_hEvent;
    }
    operator HANDLE()
    {
        return m_hEvent;
    }
};


考虑到答案,已对代码进行了编辑。

最佳答案

您正在创建命名事件-_T(“ Untitled”)。这是故意的吗?这样,每次创建CEvent时,它都将引用同一事件-不会创建新事件。

还可以考虑销毁析构函数中的事件。

关于c++ - CEvent MFC复制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13274206/

10-10 14:19