我的电脑名称类似于:“ABC12-PEACEBRINGER”(18 个字符),它是一台 windows xp 机器,尽管最终程序也需要在 windows 7 上运行。
当我使用以下 C++ 代码时,计算机名称被截断,返回值是
ABC12-PEACEBRIN
。
TCHAR MachineName[32];
DWORD buf = 32;
GetComputerNameA(MachineName, &buf);
顺便说一句。当我在我的 cmd 中键入 ipconfig/all
时,我确实获得了完整的计算机名称。
我尝试了一些与 msdn 不同的解决方案主页,但结果保持不变。
有谁知道获得那个长度的计算机名称的解决方案?! ...更改名称不是解决方案;-)
最佳答案
NetBIOS 名称(GetComputerName
返回)限制为 15 个字符。
您可能需要一些其他变体——查看 GetComputerNameEx
以了解您的选择。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724301%28v=vs.85%29.aspx
关于c++ - GetComputerName 返回的内容对于我的计算机名称来说太短了……怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24163989/