唐明 发表于 2004-2-8 19:55:00

一个小小的Dll,有兴趣的来玩玩啊

寒假写的,这是0.73b版的,几个bug在0.73c版解决了,但c版文件在磁盘上损坏了,剩下个b版
名字:GameSpyDll
搜索虚拟内存的东西,优点是支持ascii字符串搜索
没有优化,质量很差,玩玩到也无妨

唐明 发表于 2004-2-8 20:08:00

两个文件下载后,把文件"20042819542923790.rar"改为"20042819535768972.rar"
关键是小的哪个文件(下载联接的下面哪个)
"???????????????????0.rar"改"???????????????????2.rar"

唐明 发表于 2004-2-8 20:18:00

文档和vb示例里:
...Lib "GameSpyDll" (ByVal hwnd As Long, lpval As lpdata, ByVal lpMsg As String) As Long
'lpVal>>>> 指向要搜索的值,最后一位必须是0,这个指针指向的地址至少要有5个字节长的内容,包括最后一个0
'>> lpdata <<'这个结构不是必要的,只要是指向搜索值地址指针传过去就可以了(你的值要以0结尾,最少为你的值给足5个字节长度,长度最大250(最后一个0))
Private Type lpdata'我选择只传送一个变量,如果是String的话,把数值弄到String里我没有好办法,这个结构解决了问题
    FirstFourByte As Long'这个是Byte的话违反VB的规则,没办法(我把所有的内容都放到了这个结构里,最后一个是0
    LastByte(62)As long
End Type
这做法纯粹是对vb的不了解造成的,可以声明为:
...Lib "GameSpyDll" (ByVal hwnd As Long, lpval As long, ByVal lpMsg As String) As Long
'lpVal>>>> 指向要搜索的值,最后一位必须是0,这个指针指向的地址至少要有5个字节长的内容,包括最后一个0(vb里可以是个总共256字节长的数组,按地址传递第一个数组元素就可以了)
这点在0.73c版的说明里纠正了,DLL和VB示例代码也作了像因修改

seewhat 发表于 2004-2-9 20:12:00

我下载了你的程序,可是你的VB代码的注释太少了啊,我觉得有点吃力
可以多加一点注释吗?
另外告诉你你的哪个例子在XP下没问题

唐明 发表于 2004-2-9 20:20:00

哈哈,楼兄,好久不见啊,在那个学校念书啊
你的QQ是多少,快+我。
不要再冒充女的了,你还真来这个论坛了
还在就+我快!!!!!

游侠无极限 发表于 2004-2-10 19:38:00

我现在要放弃VB改用VC了
其实VB没什么不好,只是写出来的程序太大,调用API不方便

不过现在用VC写,一大半都是调用API(MFC其实也一样),感觉不怎么像编程

yzhlinux 发表于 2004-2-12 15:13:00

以下是引用游侠无极限在2004-2-10 19:38:00的发言:
我现在要放弃VB改用VC了
其实VB没什么不好,只是写出来的程序太大,调用API不方便

不过现在用VC写,一大半都是调用API(MFC其实也一样),感觉不怎么像编程

如果你写与系统相关的程序不调用系统api是不可能的啊,不过你可以去文件读取和处理(尤其是图形文件),图形处理的算法等,那些与系统api没有什么交道,而且可以方便的移植到linux下,应该符合你的胃口吧。
有或者写模拟网络协议的程序,主要都是花工夫在协议栈上,和系统api接触也很少,而且可以极大提高网络认识。

游侠无极限 发表于 2004-2-14 18:54:00

现在对界面编程很有兴趣……

geforce20 发表于 2004-10-30 16:59:00

vb是个好东西,写界面真方便!

jelllove 发表于 2005-7-4 19:15:00

Delphi写界面更方便,而且更好

游侠无极限 发表于 2005-7-5 22:53:00

主要是Delphi的语法和开发环境都不适应,VB开发又要带一大堆文件,还有很多好的控件要¥,还是自己用GDI画……
页: [1]
查看完整版本: 一个小小的Dll,有兴趣的来玩玩啊