我在客户站点上追逐一个奇怪的错误,想知道是否有Environment.MachineName
可能返回一个零长度的字符串。文档说这是从注册表中读取的,但没有指定在哪里。我无法想象一台机器不能有netbios名称,只是想问一下。
编辑
经过一番调查,这似乎没有返回零长度字符串,但我只是对它是否可行感兴趣。
我在客户站点上追逐一个奇怪的错误,想知道是否有Environment.MachineName
可能返回一个零长度的字符串。文档说这是从注册表中读取的,但没有指定在哪里。我无法想象一台机器不能有netbios名称,只是想问一下。
编辑
经过一番调查,这似乎没有返回零长度字符串,但我只是对它是否可行感兴趣。
我不知道它是否可以是空字符串,抱歉,但关于注册表,您可能需要检查以下(和子项):
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName
在我的系统上,它实际上正在查看HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName\ComputerName
:
顺便说一句,如您所见,我尝试使用SysInternals Process Monitor来解决这个问题,但最初失败了。然后我想,上面的键(和一些相关的)默认被抑制。以防万一您尝试相同的方法,请注意这一点。
您还可以检查%COMPUTERNAME%
. 尽管我没有参考或直接证据,但我认为它的价值来自同一来源。
我知道这不是您问题的真正答案,但也不适合发表评论。