0
我嘗試更新從Windows註冊表FTDI設置。我可以讀取和修改註冊表中的ConfigData值,並將其轉換爲QByteArray來更改一些值。QSettings setValue方法寫的QVariant數據類型到Windows註冊表
QSettings settings("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Enum\\FTDIBUS\\VID_0403+PID_6015+" + port.serialNumber() + "\\0000\\Device Parameters" , QSettings::NativeFormat);
QStringList regReturn = settings.allKeys();
QVariant ccc = settings.value(regReturn.at(0));
QString kkkk = ccc.toString();
QByteArray b((const char*) (kkkk.utf16()), kkkk.size() * 2);
b[2] = 0x00;
b[3] = 0x00;
kkkk = QString::fromUtf16((ushort *)(b.data()),kkkk.size());
settings.setValue("LatencyTimer", 1);
settings.setValue("try", QVariant::fromValue(kkkk));
執行後,我控制了註冊表值,我看到QVariant封裝了類型如下圖所示的數據。我怎樣才能防止呢?
Raw Data from registery
Written data