Environment.MachineName 是否有可能返回零长度字符串

Mat*_*lko 5 .net vb.net netbios visual-studio-2010

我在客户站点上遇到一个奇怪的错误,想知道是否有Environment.MachineName可能返回零长度字符串。文档说这是从注册表中读取的,但没有指定在哪里。我无法想象一台机器不能有 netbios 名称而只是想问一下。

编辑

经过一番调查,这似乎没有返回零长度的字符串,但我只是对它是否可行感兴趣。

Chr*_*n.K 1

我不知道它是否可以是空字符串,抱歉,但是关于注册表,您可能需要检查以下内容(和子项):

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName
Run Code Online (Sandbox Code Playgroud)

在我的系统上,它实际上正在查看HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName\ComputerName

在此输入图像描述

顺便说一句,正如您所看到的,我尝试使用SysInternals Process Monitor来解决这个问题,但最初失败了。然后我想,默认情况下会抑制上述键(以及一些相关的键)。以防万一你尝试同样的做法,请注意这一点。

您还可以检查 的值%COMPUTERNAME%。尽管我没有参考或直接证据,但我认为它的价值来自同一来源。

我知道这不是您问题的真正答案,但它也不适合评论。