我正在尝试以编程方式更改计算机的名称。有时我们必须在升级时擦除系统并恢复它的数据库。我正在尝试从数据库中读取所有系统设置并自动设置。其中大部分都是非常简单的东西,但是更改系统的名称真的让我陷入了困境。编辑:编辑代码以反映评论的变化
if(dbHostName.length() > MAX_COMPUTERNAME_LENGTH)
{
dbHostName.truncate(MAX_COMPUTERNAME_LENGTH);
}
LPCTSTR cname = dbHostName.toStdWString().c_str();
bool nameset = SetComputerNameEx(ComputerNamePhysicalDnsHostname, cname);
if(nameset) qDebug() << "Computer name changed to" << dbHostName;
else qDebug() << "Computer name NOT changed!";
我正在输入一个 QString,确保它不会太长,将其转换为标准宽字符串,将其转换为 LPCTSTR,然后尝试使用它来更改计算机名称。
这将返回 false:计算机名称未更改!