⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cthreadobject.cpp

📁 一个非常实用的号码魔方工具
💻 CPP
字号:
//---------------------------------------------------------------------------


#pragma hdrstop

#include "CThreadObject.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)
CThreadObject::CThreadObject(LPVOID Owner,LPTHREAD_START_ROUTINE lpStartAddres, char * ThreadName)
             : m_Owner(Owner),
               m_lpStartAddres(lpStartAddres),
               m_bActive(false)
{
    memset( m_ThreadName, 0x0, sizeof(m_ThreadName) );
    memcpy( m_ThreadName, ThreadName, strlen(ThreadName) > 100 ? 100 : strlen(ThreadName) );
    m_hThread = CreateThread( NULL, 0, (LPTHREAD_START_ROUTINE)ThreadProc, (LPVOID)this, 0, &m_ThreadId );
}
CThreadObject::~CThreadObject()
{
    WaitForSingleObject( m_hThread, 500 );
    if( !m_bActive )
    {
        Terminate();
    }
    CloseHandle( m_hThread );
}
void WINAPI CThreadObject::ThreadProc( LPVOID lpParam )
{
    CThreadObject * m_thread = (CThreadObject*)lpParam;
    m_thread->m_bActive = true;
    m_thread->m_lpStartAddres( m_thread->m_Owner );
    m_thread->m_bActive = false;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -