一个timer一个线程?
呵呵

解决方案 »

  1.   

    http://www.applevb.com//sourcecode/vbthread.zip
    这是个多线程例程源代码,你可以参阅以下
      

  2.   

    在VB中不建議用多線程﹐因為經常出非法操作﹐具体自己實踐就知道了
    'Creates a new thread
    Private Declare Function CreateThread Lib "kernel32" (ByVal lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadID As Long) As Long
    'Terminates a thread
    Private Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
    'Sets the priority of a thread
    Private Declare Function SetThreadPriority Lib "kernel32" (ByVal hThread As Long, ByVal nPriority As Long) As Long
    'Returns the proirity of a thread
    Private Declare Function GetThreadPriority Lib "kernel32" (ByVal hThread As Long) As Long
    'Enables a disabled Thread
    Private Declare Function ResumeThread Lib "kernel32" (ByVal hThread As Long) As Long
    'Disables a thread
    Private Declare Function SuspendThread Lib "kernel32" (ByVal hThread As Long) As Long
    'Returns the handle of the current thread
    Private Declare Function GetCurrentThread Lib "kernel32" () As Long
    'Returns the ID of the current thread
    Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long'Consts
    Private Const MAXLONG = &H7FFFFFFF'Thread priority consts
    Private Const THREAD_BASE_PRIORITY_IDLE = -15
    Private Const THREAD_BASE_PRIORITY_LOWRT = 15
    Private Const THREAD_BASE_PRIORITY_MAX = 2
    Private Const THREAD_BASE_PRIORITY_MIN = -2
    Private Const THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX
    Private Const THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN
    Private Const THREAD_PRIORITY_ABOVE_NORMAL = (THREAD_PRIORITY_HIGHEST - 1)
    Private Const THREAD_PRIORITY_BELOW_NORMAL = (THREAD_PRIORITY_LOWEST + 1)
    Private Const THREAD_PRIORITY_ERROR_RETURN = (MAXLONG)
    Private Const THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE
    Private Const THREAD_PRIORITY_NORMAL = 0
    Private Const THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT'Thread creation flags
    Private Const CREATE_ALWAYS = 2
    Private Const CREATE_NEW = 1
    Private Const CREATE_NEW_CONSOLE = &H10
    Private Const CREATE_NEW_PROCESS_GROUP = &H200
    Private Const CREATE_NO_WINDOW = &H8000000
    Private Const CREATE_PROCESS_DEBUG_EVENT = 3
    Private Const CREATE_SUSPENDED = &H4
    Private Const CREATE_THREAD_DEBUG_EVENT = 2'Types and Enums
    Public Enum ThreadPriority
        tpLowest = THREAD_PRIORITY_LOWEST
        tpBelowNormal = THREAD_PRIORITY_BELOW_NORMAL
        tpNormal = THREAD_PRIORITY_NORMAL
        tpAboveNormal = THREAD_PRIORITY_ABOVE_NORMAL
        tpHighest = THREAD_PRIORITY_HIGHEST
    End Enum
      

  3.   

    在VB中不建議用多線程﹐實現一些簡單的操作還可以﹐要是複雜一些的就經常有非法操作﹐出內核錯誤奧﹐自己在實踐中就知道了﹕
    'Creates a new thread
    Private Declare Function CreateThread Lib "kernel32" (ByVal lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadID As Long) As Long
    'Terminates a thread
    Private Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
    'Sets the priority of a thread
    Private Declare Function SetThreadPriority Lib "kernel32" (ByVal hThread As Long, ByVal nPriority As Long) As Long
    'Returns the proirity of a thread
    Private Declare Function GetThreadPriority Lib "kernel32" (ByVal hThread As Long) As Long
    'Enables a disabled Thread
    Private Declare Function ResumeThread Lib "kernel32" (ByVal hThread As Long) As Long
    'Disables a thread
    Private Declare Function SuspendThread Lib "kernel32" (ByVal hThread As Long) As Long
    'Returns the handle of the current thread
    Private Declare Function GetCurrentThread Lib "kernel32" () As Long
    'Returns the ID of the current thread
    Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long'Consts
    Private Const MAXLONG = &H7FFFFFFF'Thread priority consts
    Private Const THREAD_BASE_PRIORITY_IDLE = -15
    Private Const THREAD_BASE_PRIORITY_LOWRT = 15
    Private Const THREAD_BASE_PRIORITY_MAX = 2
    Private Const THREAD_BASE_PRIORITY_MIN = -2
    Private Const THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX
    Private Const THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN
    Private Const THREAD_PRIORITY_ABOVE_NORMAL = (THREAD_PRIORITY_HIGHEST - 1)
    Private Const THREAD_PRIORITY_BELOW_NORMAL = (THREAD_PRIORITY_LOWEST + 1)
    Private Const THREAD_PRIORITY_ERROR_RETURN = (MAXLONG)
    Private Const THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE
    Private Const THREAD_PRIORITY_NORMAL = 0
    Private Const THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT'Thread creation flags
    Private Const CREATE_ALWAYS = 2
    Private Const CREATE_NEW = 1
    Private Const CREATE_NEW_CONSOLE = &H10
    Private Const CREATE_NEW_PROCESS_GROUP = &H200
    Private Const CREATE_NO_WINDOW = &H8000000
    Private Const CREATE_PROCESS_DEBUG_EVENT = 3
    Private Const CREATE_SUSPENDED = &H4
    Private Const CREATE_THREAD_DEBUG_EVENT = 2'Types and Enums
    Public Enum ThreadPriority
        tpLowest = THREAD_PRIORITY_LOWEST
        tpBelowNormal = THREAD_PRIORITY_BELOW_NORMAL
        tpNormal = THREAD_PRIORITY_NORMAL
        tpAboveNormal = THREAD_PRIORITY_ABOVE_NORMAL
        tpHighest = THREAD_PRIORITY_HIGHEST
    End Enum