请教VB大虾,VB5中能否使用多线程?请给个实例。

mfj 2000-05-02 12:22:00
...全文
130 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rosement 2000-05-03
  • 打赏
  • 举报
回复
代码如下:
Option Explicit
Public Declare Function CreateThread Lib "kernel32" _
(ByVal lpThreadAttributes As Long, _
ByVal dwStackSize As Long, _
ByVal lpStartAddress As Any, _
ByRef lpParameter As Any, _
ByVal dwCreationFlags As Long, _
ByRef lpThreadId As Long) As Long

Public Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Type PARAM_TYPE
lValue As Long
End Type

Function DaThreadFunc(ByRef lpParam As PARAM_TYPE) As Long
Dim szStr As String
szStr = "Thread value:" & CStr(lpParam.lValue) & vbNewLine & _
"Thread ID: " & CStr(GetCurrentThreadId)

MsgBox szStr, , "Function Cool!"
DaThreadFunc = -2
End Function

Sub Main()
Dim lRet As Long
Dim lThreadID As Long
Dim stParam As PARAM_TYPE
Dim szStr As String

lThreadID = 0
stParam.lValue = -1
lRet = CreateThread(0, _
0, _
AddressOf DaThreadFunc, _
stParam, _
0, _
lThreadID)
End Sub
以上的程序,应该设定为SUB_MAIN启动,运行一下看,你可以将该程序的SUB_MAIN中的内容拷贝到一个按钮函数或其它地方,一样可以运行,关于线程的同步等,你可以参考API大全,或者参考MSDN,GOOD LUCK!



neulf 2000-05-02
  • 打赏
  • 举报
回复
我想听听你对多线程的理解。请寄neulf@yeah.net
x86 2000-05-02
  • 打赏
  • 举报
回复
当然可以啦,只要用API就几乎可以做任何VC能做的事。
例子嘛,查查API的文档吧,不好意思,我已经有好久不用VB了。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧