📄 _afxwin.h
字号:
#include "_afxstat_.h"
extern CThreadSlotData* _afxThreadData;
typedef UINT (__cdecl *AFX_THREADPROC)(LPVOID);
class CWinThread
{
public:
// 线程对象的初始化(Constructors)
CWinThread();
BOOL CreateThread(DWORD dwCreateFlags = 0, UINT nStackSize = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);
// 保存和设置线程对象特有的属性(Attributes)
BOOL m_bAutoDelete; // 指示在线程结束后,是否要销毁此对象
HANDLE m_hThread;
DWORD m_nThreadID;
operator HANDLE() const
{ return this == NULL ? NULL : m_hThread; }
int GetThreadPriority()
{ return ::GetThreadPriority(m_hThread); }
BOOL SetThreadPriority(int nPriority)
{ return ::SetThreadPriority(m_hThread, nPriority); }
// 对线程的操作(Operations)
DWORD SuspendThread()
{ return ::SuspendThread(m_hThread); }
DWORD ResumeThread()
{ return ::ResumeThread(m_hThread); }
// 具体实现(Implementation)
public:
virtual ~CWinThread();
virtual void Delete();
void CommonConstruct();
public:
CWinThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam);
LPVOID m_pThreadParams; // 用户传递给新线程的参数
AFX_THREADPROC m_pfnThreadProc; // 线程函数的地址
};
// 提供给用户使用的全局函数
CWinThread* AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam,
int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0,
DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);
CWinThread* AfxGetThread();
void AfxEndThread(UINT nExitCode, BOOL bDelete = TRUE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -