我在客户站点追逐一个奇怪的错误,并想知道Environment.MachineName
是否有可能返回零长度字符串。文档说这是从注册表中读取但没有指定在哪里。我无法想象一台机器不能拥有netbios名称但只是想问。
修改
经过一番调查后,似乎没有返回零长度的字符串,但我只是感兴趣,如果可行的话。
答案 0 :(得分:1)
我不知道它是否可以是空字符串,抱歉,但是关于注册表,您可能需要检查以下(和子项):
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%
的值。虽然我没有参考或直接证据,但我认为它从同一来源得到它的价值。
我知道这不是你问题的真实答案,但它也不适合评论。