Ich versuche, FTDI-Einstellungen von Windows-Registrierung zu aktualisieren. Ich kann die ConfigData-Werte aus der Registrierung lesen und ändern und einige Werte ändern, indem ich sie in QByteArray umwandle.QSettings setvalue-Methode schreibt QVariant-Datentyp in Windows-Registrierung
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));
Nach der Ausführung habe ich den Registrierungswert gesteuert Ich sah, dass QVariant die Daten mit Typ wie Bild unten kapseln. Wie kann ich das verhindern?
Raw Data from registery
Written data