Programming » Visual Basic 6 » Visual Basic 6 Code » Windows API » ");?>
Generates a globally unique identifier (GUID).
Private Type GUID
    Data1 As Long
    Data2 As Long
    Data3 As Long
    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 LongAs Long


Private Function GUIDGen() As String
    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
    'Convert the structure into a displayable string
    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