各位高手;
A.用VB写的线程生成EXE后,WINDOWS2K不能用?
B.线程可否自动循环启动,运行,结束;再启动,运行,结束??
C.线程难以结束,是何解啊?
如下面的程序:
Option ExplicitPrivate 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 ResumeThread Lib "kernel32" (ByVal hThread As Long) As Long
Private Declare Function SetThreadPriority Lib "kernel32" (ByVal hThread As Long, ByVal nPriority As Long) As Long
Private Declare Function GetThreadPriority Lib "kernel32" (ByVal hThread As Long) As LongPrivate Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Sub Command1_Click()
ThreadStop = False
Dim hID As Long
hThread = CreateThread(ByVal 0&, ByVal 0&, AddressOf AddList, ByVal 0&, ByVal 4&, hID) 'CreateThread(ByVal 0&, ByVal 0&, AddressOf AddList, 0&, 0&, hID)
ResumeThread hThread
End SubPrivate Sub Command2_Click()
Dim ticks As Long
ThreadStop = True
ticks = GetTickCount()
While GetTickCount - ticks < 12000
Wend
TerminateThread hThread, 0
End SubPublic Declare Function GetTickCount Lib "kernel32" () As Long
Public Declare Function SuspendThread Lib "kernel32" (ByVal hThread As Long) As Long
Public ThreadStop As Boolean
Public hThread As LongPublic Sub AddList()
Dim i As Long
Dim lTick As Long
'For i = 0 To 5000
If ThreadStop Then
SuspendThread hThread
Else
For i = 0 To 8000
Call Fume
Call Speed
Call Brake
Call Light
Form1.List1.AddItem "运行了第 " & Str(i) & "次"
Next
'Form1.List1.AddItem Str(Time)
'lTick = GetTickCount
'ThreadStop = False
End If
'Next
While GetTickCount - lTick < 50
WendEnd SubPublic Sub Fume()
If ThreadStop Then
SuspendThread hThread
Else
Form1.List1.AddItem "Fume"
ThreadStop = False
End If
End SubPublic Sub Speed()
If ThreadStop Then
SuspendThread hThread
Else
Form1.List1.AddItem "Speed"
ThreadStop = False
End If
End SubPublic Sub Brake()
If ThreadStop Then
SuspendThread hThread
Else
Form1.List1.AddItem "Brake"
ThreadStop = False
End If
End SubPublic Sub Light()
If ThreadStop Then
SuspendThread hThread
Else
Form1.List1.AddItem "Light"
ThreadStop = False
End If
End Sub
上面的线程无法终止??????????????/
各位高手,请不吝教导!!!!!!!!!11
D.
A.用VB写的线程生成EXE后,WINDOWS2K不能用?
B.线程可否自动循环启动,运行,结束;再启动,运行,结束??
C.线程难以结束,是何解啊?
如下面的程序:
Option ExplicitPrivate 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 ResumeThread Lib "kernel32" (ByVal hThread As Long) As Long
Private Declare Function SetThreadPriority Lib "kernel32" (ByVal hThread As Long, ByVal nPriority As Long) As Long
Private Declare Function GetThreadPriority Lib "kernel32" (ByVal hThread As Long) As LongPrivate Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Sub Command1_Click()
ThreadStop = False
Dim hID As Long
hThread = CreateThread(ByVal 0&, ByVal 0&, AddressOf AddList, ByVal 0&, ByVal 4&, hID) 'CreateThread(ByVal 0&, ByVal 0&, AddressOf AddList, 0&, 0&, hID)
ResumeThread hThread
End SubPrivate Sub Command2_Click()
Dim ticks As Long
ThreadStop = True
ticks = GetTickCount()
While GetTickCount - ticks < 12000
Wend
TerminateThread hThread, 0
End SubPublic Declare Function GetTickCount Lib "kernel32" () As Long
Public Declare Function SuspendThread Lib "kernel32" (ByVal hThread As Long) As Long
Public ThreadStop As Boolean
Public hThread As LongPublic Sub AddList()
Dim i As Long
Dim lTick As Long
'For i = 0 To 5000
If ThreadStop Then
SuspendThread hThread
Else
For i = 0 To 8000
Call Fume
Call Speed
Call Brake
Call Light
Form1.List1.AddItem "运行了第 " & Str(i) & "次"
Next
'Form1.List1.AddItem Str(Time)
'lTick = GetTickCount
'ThreadStop = False
End If
'Next
While GetTickCount - lTick < 50
WendEnd SubPublic Sub Fume()
If ThreadStop Then
SuspendThread hThread
Else
Form1.List1.AddItem "Fume"
ThreadStop = False
End If
End SubPublic Sub Speed()
If ThreadStop Then
SuspendThread hThread
Else
Form1.List1.AddItem "Speed"
ThreadStop = False
End If
End SubPublic Sub Brake()
If ThreadStop Then
SuspendThread hThread
Else
Form1.List1.AddItem "Brake"
ThreadStop = False
End If
End SubPublic Sub Light()
If ThreadStop Then
SuspendThread hThread
Else
Form1.List1.AddItem "Light"
ThreadStop = False
End If
End Sub
上面的线程无法终止??????????????/
各位高手,请不吝教导!!!!!!!!!11
D.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货