VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
楼主: tgy

封装了一个VB创建多线程的API函数(标准DLL),欢迎试用、测试、提意见!

  [复制链接]
 楼主| 发表于 2011-11-30 20:36:53 | 显示全部楼层
本帖最后由 tgy 于 2011-11-30 22:18 编辑

最后更新(1.3.0):
增加通过对象和函数名调用线程函数的API使用方式,即线程函数可写在窗体中,并声明为公有函数,即可通过窗体对象和线程函数名来创建线程,API方式也可以不用写线程函数到标准模块中了,但此法只能传一个线程参数,需多参数可通过结构体解决。
函数名:CreateThreadEByTGY
参数:
1. obj 线程函数所在的对象 如窗体  类型:对象
2.funname为线程函数名称 类型:字符串
3.p1为线程参数 类型:长整型
声明示例:
Public Declare Function CreateThreadEByTGY Lib "VBCreateThread.dll" (ByRef obj As Object, ByVal funname As String, ByVal p1 As Long) As Long
返回值:线程句柄 long型

调用示例.rar (23.21 KB, 下载次数: 1372)
回复 支持 1 反对 0

使用道具 举报

发表于 2011-12-1 14:38:53 | 显示全部楼层
本帖最后由 bjtiantang 于 2011-12-1 14:46 编辑

能不能增加让线程挂起 和 继续执行 和强行销毁线程的函数?

并且制作个 函数msdn 3q

如果做一个游戏服务端 线程开到1000 都不算糟糕吧

点评

tgy
有个类里面的endthread就是销毁线程  发表于 2011-12-4 17:40
tgy
这个是可以,现在没时间了,年底了,等有时间再说了  发表于 2011-12-1 14:54
回复 支持 反对

使用道具 举报

发表于 2011-12-1 16:55:12 | 显示全部楼层
楼主,问一下,如果要编写 多线程VB控件,可否用这个?

还有个问题,IDE环境下不能测试的程序有别的方法测试吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-1 20:01:37 | 显示全部楼层
xiaoyao9184 发表于 2011-12-1 16:55
楼主,问一下,如果要编写 多线程VB控件,可否用这个?

还有个问题,IDE环境下不能测试的程序有别的方法 ...

应该可以,你试下,我没测试过
一般只能编译成EXE后调试
回复 支持 反对

使用道具 举报

发表于 2011-12-2 14:18:38 | 显示全部楼层
能否在工程中枚举所有窗口呢?模式和非模式的

点评

tgy
可通过API枚举进程/线程窗口  发表于 2011-12-2 14:29
回复 支持 反对

使用道具 举报

发表于 2011-12-2 15:17:05 | 显示全部楼层
枚举只能得到句柄,如何得到form对象呢

点评

tgy
在线程内可用forms集合取得对象啊  发表于 2011-12-2 16:46
回复 支持 反对

使用道具 举报

发表于 2011-12-2 21:16:49 | 显示全部楼层
用17楼的工程,在form1中增加
Private Sub Command3_Click()
Dim frm As Form
For Each frm In Forms
    MsgBox CStr(frm.hWnd)
Next
End Sub

取不到的,我目前就需要这样的结构

点评

tgy
你是说想这样就取到所有线程的窗体吗?不能,只能取到当前线程的窗体,其它线程的窗体要在其它线程内部才能取到,可以通过参数传到主线程来调用  发表于 2011-12-2 21:34
回复 支持 反对

使用道具 举报

发表于 2012-1-7 16:30:40 | 显示全部楼层
学习了,很不错的
回复 支持 反对

使用道具 举报

发表于 2012-1-12 10:06:56 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2012-2-6 22:51:00 | 显示全部楼层
不错,顶一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2020-7-11 06:38

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表