Почему эта функция возвращает пустую строку в VB.NET-что?
Я тестирую способ, представленный в этом ссылка^.
Я быстро создал приложение Windows Form с одной кнопкой и четырьмя метками. для отображения UUID Windows и UUID машины используются две метки.
Оказывается, этот вызов возвращает пустую строку:
Dim readValue = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography", "MachineGUID", Nothing)
Что я уже пробовал:
вот мой фрагмент кода в VB.NET для вашей быстрой справки:
Imports System.Management Imports Microsoft.Win32 Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Label2.Text = Get_WinGUID() Label4.Text = Get_PC_UUID() End Sub Public Function Get_WinGUID() As String Dim sRet As String = "" Try Dim readValue = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography", "MachineGUID", Nothing) sRet = readValue Catch ex As Exception sRet = "" End Try Return sRet End Function Public Function Get_PC_UUID() As String Dim UUID As String = "" Try Dim searcher As New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_ComputerSystemProduct") For Each queryObj As ManagementObject In searcher.Get() UUID += queryObj("UUID") Next Catch err As ManagementException End Try Return UUID End Function End Class
Richard MacCutchan
Посмотрите в своем реестре, чтобы увидеть, присутствует ли этот ключ и значение.
Southmountain
но я использовал редактор реестра, чтобы просмотреть этот элемент((MachineGUID)), там есть значение. это не должна быть пустая строка.