Get GUID string

By | 2002-06-01

Generates Global Unique ID – when you want to create an identifier which will never repeat all over the word , you will find this usefull.

Original Author: Bogdan Chernyachuk

Returns

Returns Global Unique ID in string format (the same as the format of ClassID written in registry).

API Declarations

Public Type GUID ‘ a structure for Global Uniq. ID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0, 7) As Byte
End Type
Declare Function CoCreateGuid Lib “ole32” (ByRef lpGUID As GUID) As Long
Declare Function StringFromGUID2 Lib “ole32” (ByRef lpGUID As GUID, ByVal lpStr As String, ByVal lSize As Long) As Long

Code

Public Function GetNewGUIDStr() As String
Dim pGuid As GUID
Dim lResult As Long
Dim s As String
  
  'this is a buffer string to be passed in API function
  '100 chars will be enough
  s = String(100, " ")
  'creating new ID and obtaining result in pointer to GUID
  lResult = CoCreateGuid(pGuid)
  'converting GUID structure to string
  lResult = StringFromGUID2(pGuid, s, 100)
  'removing all trailing blanks
  s = Trim(s)
  'converting a sting from unicode
  GetNewGUIDStr = StrConv(s, vbFromUnicode)
  
End Function

Author: dwirch

Derek Wirch is a seasoned IT professional with an impressive career dating back to 1986. He brings a wealth of knowledge and hands-on experience that is invaluable to those embarking on their journey in the tech industry.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.