testid 发表于 2011-12-1 12:05:49

VB快速校验CRC32

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
Private Function AsmCrc(bytInput() As Byte, ByVal Init As Long) As Long
    Dim Asm(5) As Long
    Asm(0) = &H5B5A5958
    Asm(1) = &HC033505E
    Asm(2) = &H3018A36
    Asm(3) = &H41CED1F0
    Asm(4) = &HF47ECA3B
    Asm(5) = &HC3338936
    CallWindowProc VarPtr(Asm(0)), VarPtr(bytInput(LBound(bytInput))), VarPtr(bytInput(UBound(bytInput))), VarPtr(AsmCrc), Init
End Function

马大哈 发表于 2011-12-2 14:53:24

这个....咋用?第二个参数init是什么?

Tesla.Angela 发表于 2011-12-2 16:08:18

网上找到一个例子:
Private Sub Command1_Click()
      Dim myBAry() As Byte
      Dim myL      As Long

      myBAry = StrConv(Text1.Text, vbFromUnicode)

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

dabingrain 发表于 2013-6-13 17:21:32

部分系统上出错啊!

dabingrain 发表于 2013-7-2 14:49:46

有个别地方使用会导致崩溃,例如vb.net,可能和线程有关系

xxhaishixx 发表于 2013-7-3 20:54:33

我是来支持的。

asdf70813 发表于 2013-8-3 11:14:50

我是来支持的。
页: [1]
查看完整版本: VB快速校验CRC32