//ThreadBase.h
#pragma once #include<windows.h> class CThreadBase { public: CThreadBase(void); ~CThreadBase(void); static DWORD WINAPI ThreadProc (PVOID pParam); virtual void Run() = 0; void Start(); private: HANDLE m_hThread; DWORD m_dwThreadID; };
//ThreadBase.cpp

#include "StdAfx.h"
#include "ThreadBase.h"

CThreadBase::CThreadBase(void)
{
	m_hThread = CreateThread(NULL,0,ThreadProc,this,CREATE_SUSPENDED,&m_dwThreadID);
}

CThreadBase::~CThreadBase(void)
{
	CloseHandle(m_hThread);
}
DWORD WINAPI CThreadBase::ThreadProc (PVOID pParam)
{

	if (NULL!=pParam)
	{
		((CThreadBase*)pParam)->Run();
	}
	return 0;
}
void CThreadBase::Start()
{
	ResumeThread(m_hThread);
}

 

相关文章:

  • 2021-11-26
  • 2021-11-16
  • 2022-12-23
  • 2021-06-07
  • 2021-12-26
  • 2022-01-06
  • 2022-12-23
  • 2022-02-16
猜你喜欢
  • 2022-12-23
  • 2021-11-03
  • 2022-12-23
  • 2022-12-23
  • 2021-09-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案