gpt4 book ai didi

macos - 获取Apple Mac系统的唯一机器号

转载 作者:行者123 更新时间:2023-12-04 19:50:56 31 4
gpt4 key购买 nike

我分发许可软件并且有一个很好的 VBA 方法来注册和识别注册的 PC 是唯一的。我使用主板 ID + 处理器 ID + HD ID 的组合(对于 ID,也读取序列号)。到目前为止,在注册了 1000 多台设备后,我还没有看到重复的设备。

现在我需要将此 VBA 功能扩展到 Apple Mac OSx 环境。任何人都可以帮助我使用 VBA 代码从该机器独有的 MAC 获取“数字”。显然 PC 代码不起作用。

最佳答案

您可以使用此功能尝试机器序列号。它可以在 Mac 或 PC 上运行

Function GetPCSerialNumber()
' V1.1
#If Mac Then
Dim PCSerialNumber, StrOffset
PCSerialNumber = MacScript("do shell script ""ioreg -l | grep IOPlatformSerialNumber""")
StrOffset = InStr(PCSerialNumber, " = """)
PCSerialNumber = Mid(PCSerialNumber, StrOffset + 4, 999)
GetPCSerialNumber = "{Mac}" & Left(PCSerialNumber, Len(PCSerialNumber) - 1)
#Else
' wmic bios get * /format:list
Dim objWMIService As Object
Dim colItems As Variant
Dim objItem
Dim strMsg As String

Set objWMIService = GetObject("winmgmts://./root/cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_BIOS where PrimaryBIOS = true", , 48)

For Each objItem In colItems
strMsg = objItem.SerialNumber
Next

GetPCSerialNumber = strMsg
#End If

您还可以使用 Excel 自己的函数 [在 VBA 中] ENVIRON(),来获取 [PC] 环境变量的值,例如ENVIRON("USERNAME") 或 ENVIRON("COMPUTERNAME"),您可以通过创建另一个函数 GETENVIRON() 在 Excel 中访问它:

Function GetEnviron(ByVal EnvironmentVariableName As String)
' V1.1
GetEnviron = Environ(EnvironmentVariableName)
End Function

请注意,在 Mac 上,PC 的 USERNAME 环境变量相当于 USER 或 LOGNAME。

在 Mac 上使用的环境变量要少得多(在终端窗口中尝试 ENV 看看)

关于macos - 获取Apple Mac系统的唯一机器号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44366353/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com