#ifndef WH_THREAD_HEAD_FILE #define WH_THREAD_HEAD_FILE #pragma once #include "ServiceCoreHead.h" ////////////////////////////////////////////////////////////////////////////////// //线程对象 class SERVICE_CORE_CLASS CWHThread { //状态变量 private: volatile bool m_bRun; //运行标志 //线程变量 private: UINT m_uThreadID; //线程标识 HANDLE m_hThreadHandle; //线程句柄 //函数定义 protected: //构造函数 CWHThread(); //析构函数 virtual ~CWHThread(); //接口函数 public: //获取状态 virtual bool IsRuning(); //启动线程 virtual bool StartThread(); //终止线程 virtual bool ConcludeThread(DWORD dwMillSeconds); //功能函数 public: //线程标识 UINT GetThreadID() { return m_uThreadID; } //线程句柄 HANDLE GetThreadHandle() { return m_hThreadHandle; } //投递消息 LRESULT PostThreadMessage(UINT uMessage, WPARAM wParam, LPARAM lParam); //事件函数 protected: //运行事件 virtual bool OnEventThreadRun() { return true; } //开始事件 virtual bool OnEventThreadStrat() { return true; } //终止事件 virtual bool OnEventThreadConclude() { return true; } //内部函数 private: //线程函数 static unsigned __stdcall ThreadFunction(LPVOID pThreadData); }; ////////////////////////////////////////////////////////////////////////////////// #endif