VB使用API多线程程序.

'Original code at:- http://www.free2code.net/plugins/ar.../read.php?id=94

  
    
     
   visual basic code:
  
    
  
    
Option Explicit 'Form level code. 'MultiThread versus DoEvents. 'Add a textbox and 4 command buttons to a form. 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 Private Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, _ ByVal dwExitCode As Long) As Long Private Sub Command1_Click() id = CreateThread(ByVal 0&, ByVal 0&, AddressOf AddTextMultiThread, ByVal 0&, 0, id) End Sub Private Sub Command2_Click() Call TerminateThread(id, ByVal 0&) End Sub Private Sub Command3_Click() StopDo = True AddTextDoEvents End Sub Private Sub Command4_Click() StopDo = False End Sub Private Sub Form_Load() Me.Height = 4545 Me.Width = 8925 Text1.Move 45, 45, 8700, 3525 Command1.Move 45, 3690, 1635, 375 Command1.Caption = "Start MultiThread" Command2.Move 1845, 3690, 1635, 375 Command2.Caption = "Stop MultiThread" Command3.Move 5310, 3690, 1635, 375 Command3.Caption = "Start DoEvents" Command4.Move 7110, 3690, 1635, 375 Command4.Caption = "Stop DoEvents" End Sub

  
    
     
   visual basic code:
  
    
  
    
'Module level code. Option Explicit Public id As Long Public StopDo As Boolean Public Function AddTextMultiThread() Do Form1.Text1.SelText = "Adding to Text1 - " Loop End Function Public Function AddTextDoEvents() StopDo = True Do While StopDo = True Form1.Text1.SelText = "Adding to Text1 - " DoEvents Loop End Function

你可能感兴趣的:(多线程)