2017-02-21 8 views
0

Я пытаюсь обновить настройки FTDI из реестра Windows. Я могу читать и изменять значения ConfigData из реестра и изменять некоторые значения при преобразовании его в QByteArray.Метод setvalue QSettings записывает тип данных 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

ответ

0

Это not supported в настоящее время (и на самом деле в течение длительного времени) с помощью Qt. Для этого вам необходимо использовать собственные методы WinAPI.

Смежные вопросы