回到主题: 首先,我讲一下API中的基本线程函数, Private Declare Function CreateThread Lib "kernel32" (lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, ByVal lpParameter As Long, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long CreateThread函数用于创建一个新的线程,其中SECURITY_ATTRIBUTES结构决定了一个线程的是否可以被子线程继承(bInheritHandle ) Private Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type StackSize指栈的大小,一般都让系统自己管理,用默认值0 StartAddress的函数的地址,AddressOf [函数名]可以得到函数的地址 Parameter是传递给线程函数的参数 CreationFlags决定了线程创建后是否立即执行,默认0为立即执行,当然你可以先挂起线程,等某个事件或信号来决定线程是否执行 最后一个参数是线程的标识,其实和返回的线程句柄是一个作用,不过一般大家都用线程的句柄来操作线程 (to be continued...)
|