找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 6422|回复: 6

VB快速校验CRC32

  [复制链接]

12

主题

144

回帖

0

精华

铜牌会员

积分
281
发表于 2011-12-1 12:05:49 | 显示全部楼层 |阅读模式
  1. Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  2. Private Function AsmCrc(bytInput() As Byte, ByVal Init As Long) As Long
  3.     Dim Asm(5) As Long
  4.     Asm(0) = &H5B5A5958
  5.     Asm(1) = &HC033505E
  6.     Asm(2) = &H3018A36
  7.     Asm(3) = &H41CED1F0
  8.     Asm(4) = &HF47ECA3B
  9.     Asm(5) = &HC3338936
  10.     CallWindowProc VarPtr(Asm(0)), VarPtr(bytInput(LBound(bytInput))), VarPtr(bytInput(UBound(bytInput))), VarPtr(AsmCrc), Init
  11. End Function
复制代码

评分

参与人数 1水晶币 +20 收起 理由
马大哈 + 20 很给力!

查看全部评分

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2011-12-2 14:53:24 | 显示全部楼层
这个....咋用?第二个参数init是什么?
我就是嗷嗷叫的老马了......

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2011-12-2 16:08:18 | 显示全部楼层
网上找到一个例子:

  1. Private Sub Command1_Click()
  2.       Dim myBAry() As Byte
  3.       Dim myL        As Long

  4.       myBAry = StrConv(Text1.Text, vbFromUnicode)

  5.       myL = AsmCrc(myBAry, Len(Text1.Text))
  6.       Text2.Text = "字符串“" & Text1.Text & "”的CRC校验:" & myL
  7. End Sub
复制代码
http://www.yulv.net/jiajia/article/69.htm

0

主题

19

回帖

0

精华

铜牌会员

积分
255
发表于 2013-6-13 17:21:32 | 显示全部楼层
部分系统上出错啊!

0

主题

19

回帖

0

精华

铜牌会员

积分
255
发表于 2013-7-2 14:49:46 | 显示全部楼层
有个别地方使用会导致崩溃,例如vb.net,可能和线程有关系

0

主题

20

回帖

0

精华

铜牌会员

积分
44
发表于 2013-7-3 20:54:33 | 显示全部楼层
我是来支持的。

0

主题

7

回帖

0

精华

初来乍到

积分
13
发表于 2013-8-3 11:14:50 | 显示全部楼层
我是来支持的。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表