0

I try to update FTDI settings from windows registry. I can read and modify the ConfigData values from registry and change some values with converting it to QByteArray.

        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));

After execution, I have controled the registry value I saw that QVariant encapsulate the data with type like picture below. How can I prevent from this?

Raw Data from registery
Written data

1 Answers1

0

It's not supported currently (and actually for long time) by Qt. You need to use native WinAPI methods to do this.

Max Go
  • 2,092
  • 1
  • 16
  • 26