打印本文 打印本文 关闭窗口 关闭窗口
VB创建多线程应用程序(二)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2943  更新时间:2009/4/23 16:37:42  文章录入:mintao  责任编辑:mintao
ib "kernel32" (ByVal hThread As Long) As Long

''''挂起线程API

Private Declare Function SuspendThread Lib "kernel32" (ByVal hThread As Long) As Long

 

Private Const CREATE_SUSPENDED = &H4    ''''线程挂起常量

 

''''自定义线程结构类型

Private Type udtThread

        Handle As Long

        Enabled As Boolean

End Type

 

Private meTheard As udtThread

''''初始化线程

Public Sub Initialize(ByVal LongPointFunction As Long)

       Dim LongStackSize As Long, LongCreationFlags As Long, LpthreadId As Long, LongNull As Long

       On Error Resume Next

       LongNull = 0

       LongStackSize = 0

       LongCreationFlags = CREATE_SUSPENDED         ''''创建线程后先挂起,由程序激活线程

      

       ''''创建线程并返线程句柄

       meTheard.Handle = CreateThread(LongNull, LongStackSize, ByVal LongPointFunction, LongNull, LongCreationFlags, LpthreadId)

      

       If meTheard.Handle = LongNull Then

          MsgBox "线程创建失败!", 48, "错误"

       End If

End Sub

 

''''获取线程是否激活属性

Public Property Get ThreadEnabled() As Boolean

       On Error Resume Next

       Enabled = meTheard.Enabled

End Property

 

''''设置线程是否激活属性

Public Property Let ThreadEnabled(ByVal Newvalue As Boolean)

       On Error Resume Next

       ''''若激活线程(Newvalue为真)设为TRUE且此线程原来没有激活时激活此线程

       If Newvalue And (Not meTheard.Enabled) Then

          ResumeThread meTheard.Handle

          meTheard.Enabled = True

       Else         

上一页  [1] [2] [3] [4] [5]  下一页

打印本文 打印本文 关闭窗口 关闭窗口