Option Explicit

Private Type GUID
        Data1 As Long
        Data2 As Integer
        Data3 As Integer
        Data4(8) As Byte
End Type

Private Declare Function CoCreateGuid Lib "ole32.dll" (pguid As GUID) As Long
Private Declare Function StringFromGUID2 Lib "ole32.dll" (rguid As Any, ByVal lpstrClsId As Long, ByVal cbMax As Long) As Long

Public Function GUIDGen() As String '生成GUID
        Dim uGUID As GUID
        Dim sGUID As String
        Dim bGUID() As Byte
        Dim lLen As Long
        Dim RetVal As Long
        lLen = 40
        bGUID = String(lLen, 0)
        CoCreateGuid uGUID '把结构转换为一个可显示的字符串
        RetVal = StringFromGUID2(uGUID, VarPtr(bGUID(0)), lLen)
        sGUID = bGUID
        If (Asc(mid$(sGUID, RetVal, 1)) = 0) Then RetVal = RetVal - 1
        GUIDGen = Left$(sGUID, RetVal)
End Function

Views: 38

Hi, I’m 飞火流云

首评

发表回复