- 主题:QFileDiaglog::getExistingDirectory反应时间过长
抄一段代码给你。
QString getMachineId()
{
#ifdef Q_OS_LINUX
QFile file;
file.setFileName("/var/lib/dbus/machine-id");
if (!file.open(QIODevice::ReadOnly)) {
file.setFileName("/etc/machine-id");
if (!file.open(QIODevice::ReadOnly)) {
return QString();
}
}
return QString::fromLocal8Bit(file.readAll()).trimmed();
#elif defined(Q_OS_WIN)
QSettings m("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography",
QSettings::NativeFormat);
return m.value("MachineGuid").toString().trimmed();
#elif defined(Q_OS_OPENBSD)
QFile file;
file.setFileName("/etc/machine-id");
if (!file.open(QIODevice::ReadOnly)) {
return QString();
}
return QString::fromLocal8Bit(file.readAll()).trimmed();
#elif defined(Q_OS_MAC)
#endif
return QString();
}
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: QString lireReg(const QString & poQStr = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography");
: QSettings oQSettings(poQStr, QSettings::NativeFormat);
: return oQSettings.value("MachineGuid",QVariant()).toString();
: ...................
--
FROM 110.81.13.*
感谢分享 我现在单一windows上 返回一直是空值
【 在 hgoldfish 的大作中提到: 】
: 抄一段代码给你。
: QString getMachineId()
: {
: ...................
--
FROM 123.122.158.*
你打开注册表编辑器看一下,看是什么情况。
你是用我的代码返回空值,还是你的代码返回空值?
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: 感谢分享 我现在单一windows上 返回一直是空值
--
FROM 60.188.58.*
打开reg看这个键值是有值的 就是一长串uid
用的我自己的代码 debug时也可以看到键值上层的路径串的内容是正确的
然后加上了你的那个trimmed()也没有改观 之前我代码里在"MachineGuid"后边有一个"0"或QVariant()把
这个也去掉了 读回来的还是空值
【 在 hgoldfish 的大作中提到: 】
: 你打开注册表编辑器看一下,看是什么情况。
: 你是用我的代码返回空值,还是你的代码返回空值?
:
--
FROM 123.122.158.*