Вопрос

Я хочу генерировать строки GUID в VBScript.Я знаю, что в VBScript нет встроенной функции для ее создания.Я не хочу использовать случайно сгенерированные GUID.Может быть, существует объект ActiveX, который можно создать с помощью CreateObject(), который обязательно будет установлен в (более новых) версиях Windows, которые могут генерировать GUID?

Это было полезно?

Решение

Как создать GUID с помощью сценария?(в:Привет, сценарист!Блог) говорит это:

Set TypeLib = CreateObject("Scriptlet.TypeLib")
Wscript.Echo TypeLib.Guid

Однако обратите внимание, что Scriptlet.TypeLib.Guid возвращает строку с нулевым завершением, что может привести к тому, что некоторые вещи могут игнорировать все после GUID.Чтобы это исправить, вам может потребоваться использовать:

Set TypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = TypeLib.Guid
myGuid = Left(myGuid, Len(myGuid)-2)
Wscript.Echo myGuid

Другие советы

Function CreateGUID
  Dim TypeLib
  Set TypeLib = CreateObject("Scriptlet.TypeLib")
  CreateGUID = Mid(TypeLib.Guid, 2, 36)
End Function

Эта функция вернет простой GUID, например, 47BC69BD-06A5-4617-B730-B644DBCD40A9.

Если вам нужен GUID в формате реестра, например: {47BC69BD-06A5-4617-B730-B644DBCD40A9}, измените последнюю строку функции на

CreateGUID = Left(TypeLib.Guid, 38)
' Returns a unique Guid on every call. Removes any cruft.
Function CreateGuid()
    CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38)
End Function
Set tlib = Server.CreateObject("Scriptlet.TypeLib")
strGuid = tlib.Guid

Вы можете создать случайный GUID с помощью этого объекта => «Scriptlet.TypeLib»

Ссылка на помощь => С... Концом

Вот мой путь =

With CreateObject("Scriptlet.TypeLib")
'' For Del This = {}
 WSH.Echo mid(.Guid ,2, 36)
 WSH.Echo (.Guid)
End With
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top