📄 publicfunc.h
字号:
#pragma once
//==========================================================================
// 常用操作宏
//==========================================================================
#define LENGTH(x) sizeof(x)/sizeof(x[0])
#define MIN(x,y) (((DWORD)(x)<(DWORD)(y))?(x):(y))
#define MAX(x,y) (((DWORD)(x)>(DWORD)(y))?(x):(y))
#define ASSERT_ADDRESS(p,size) ASSERT((p)!=NULL && AfxIsValidAddress((p),(size),TRUE))
// 句柄是否有效
#define HANDLE_IS_VALID(h) ( HANDLE(h) && HANDLE(h) != INVALID_HANDLE_VALUE )
// 关闭句柄
#define SAFE_CLOSE_HANDLE(h)\
{\
if ( HANDLE_IS_VALID ( h ) )\
{\
CloseHandle ( h );\
h = NULL;\
}\
}
// 等待事件的 Sleep() 函数
#define SLEEP_RETURN(x)\
{\
if ( ::WaitForSingleObject ( m_hEvtEndModule, x ) == WAIT_OBJECT_0 )\
return FALSE;\
}
#define SLEEP_BREAK(x)\
{\
if ( ::WaitForSingleObject ( m_hEvtEndModule, x ) == WAIT_OBJECT_0 )\
break;\
}
class CPublicFunc
{
public:
CPublicFunc(void);
public:
~CPublicFunc(void);
};
CString hwFormatMessage ( DWORD dwErrorCode );
BOOL WaitForThreadEnd ( HANDLE *phThread, DWORD dwWaitTime=5000 );
CString Data2HexString ( char *data, int size, int nBytesPerLine=16 );
int ConvStringToHexData(CString csOrgStr, BYTE *szOutBuffer, int nOutBufferSize);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -