终止由CWinThread派生出来的线程

方法一:
首先声明一个全局变量:
extern CWinThread *pThread;//在.h中

然后定义:
CWinThread *pThread=NULL;//.cpp中

在你的线程类的BOOL CMyThread::InitInstance()里加入:

 pThread=AfxGetThread();

最后,在你要结束的地方加入:

 if(pThread)
 {
 
  DWORD exit;
         GetExitCodeThread(pThread->m_hThread,&exit); 
         TerminateThread(pThread->m_hThread,exit);
 } 

这样就结束了

方法二:
c创建时保存句柄 然后最后用  
  BOOL   TerminateThread(  
      HANDLE   hThread,         //   handle   to   thread  
      DWORD   dwExitCode       //   exit   code  
  );  
   
  关闭之  

方法三:
BOOL   TerminateThread(  
      HANDLE   hThread,         //   handle   to   thread  
      DWORD   dwExitCode       //   exit   code  
  );  
   
  CxxxThread   m_thread;  
  HANDLE   hThread=m_thread.m_hThread;  
   
  BOOL   PostThreadMessage(  
        UINT   message   ,  
        WPARAM   wParam,  
        LPARAM   lParam    
  );  
  用WM_CLOSE不知道行不行,如果不行,重载PreTranslateMessage  
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值