helper.h
来自「windows mobile上很好用的音频播放器希望大家会喜欢」· C头文件 代码 · 共 81 行
H
81 行
#ifndef __HELPER_H__
#define __HELPER_H__
class CCritSec
{
public:
CCritSec()
{
m_cRef = 0;
InitializeCriticalSection(&m_csec);
}
~CCritSec()
{
DeleteCriticalSection(&m_csec);
}
void Lock()
{
EnterCriticalSection(&m_csec);
m_cRef++;
}
void Unlock()
{
if (m_cRef) {
LeaveCriticalSection(&m_csec);
m_cRef--;
}
}
protected:
CRITICAL_SECTION m_csec;
int m_cRef;
};
class CAutoLock
{
public:
CAutoLock(CCritSec* pcsec)
{
m_pcsec = pcsec;
m_pcsec->Lock();
}
~CAutoLock()
{
m_pcsec->Unlock();
}
protected:
CCritSec* m_pcsec;
};
class CEvent
{
public:
CEvent(BOOL fInitialState)
{
m_hEvent = CreateEvent(NULL, TRUE, fInitialState, NULL);
}
~CEvent()
{
CloseHandle(m_hEvent);
}
BOOL Set()
{
return SetEvent(m_hEvent);
}
BOOL Reset()
{
return ResetEvent(m_hEvent);
}
BOOL Pulse()
{
return PulseEvent(m_hEvent);
}
BOOL Lock(DWORD dwTimeOut = INFINITE)
{
return WaitForSingleObject(m_hEvent, dwTimeOut) != WAIT_TIMEOUT;
}
operator HANDLE() {return m_hEvent;}
protected:
HANDLE m_hEvent;
};
#endif // __HELPER_H__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?