GUID(读音为 goo-id)即全局唯一标识符,是由确保唯一性的算法生成的一个 128 位(16 字节)的数。该算法来源于开放软件基金会 (OSF) 的分布式计算环境 (DCE),是关于分布式计算的一套标准。和网卡无关吧

解决方案 »

  1.   

    新建一个模块
    Attribute VB_Name = "CreateGUID"
    Option ExplicitPrivate Declare Function CoCreateGuid Lib "OLE32.DLL" (pGUID As GUID) As Long
    Private Declare Function StringFromGUID2 Lib "OLE32.DLL" (pGUID As GUID, ByVal PointerToString As Long, ByVal MaxLength As Long) As Long
    Private Type GUID
    Guid1 As Long
    Guid2 As Long
    Guid3 As Long
    Guid4(0 To 7) As Byte
    End Type
    Public Function CreateGUID() As String
    Dim udtGUID As GUID
    Dim sGUID As String
    Dim lResult As Long
    Const clGuidLength As Long = 38
    lResult = CoCreateGuid(udtGUID)
    If lResult Then
    sGUID = ""
    Else
    sGUID = String$(clGuidLength, 0)
    StringFromGUID2 udtGUID, StrPtr(sGUID), clGuidLength + 1
    End If
    CreateGUID = sGUID
    End Function是我在收藏的代码,嘻嘻~
      

  2.   

    ketao_78(春来江水绿如蓝) 
    说得有道理
    但是有些文章说得是GUID是使用网卡物理地址,和时间通过一种算法生成的
    你说得唯一算法,我好像有点印象,记不清了
    那里有详细介绍GUID,UUID的文章?
    MSDN里好像没有找到啊ucme(边城毛毛)
    谢谢,你的代码
    但是我想知道UUID,GUID产生的原理,最好是算法,呵呵
    生成UUID,GUID得源码我都有