2009-07-07 8 views
6

मैं वर्तमान PowerPoint संस्करण को खोजने के लिए रजिस्ट्री को पढ़ना चाहता हूं।QSettings का उपयोग करके मैं विंडोज रजिस्ट्री (डिफ़ॉल्ट) मान कैसे पढ़ूं?

हालांकि यह सिर्फ शून्य रिटर्न:

QSettings settings("HKEY_CLASSES_ROOT\\PowerPoint.Application\\CurrVer", 
        QSettings::NativeFormat); 

QString sReturnedValue = settings.value("(Default)", "0").toString(); 

के रूप में कोई सुझाव मैं कैसे एक (डिफ़ॉल्ट) कुँजी से मान मिल सकता है?

उत्तर

10

ठीक है, बस इसे समझ लिया। जबकि regedit इसे दिखाता है (डिफ़ॉल्ट) आप इसे डिफ़ॉल्ट के रूप में पढ़ते हैं।

QString sReturnedValue = settings.value("Default", "0").toString(); 

सुनने के लिए धन्यवाद।

+1

सबसे चीजों के लिए, "" डिफ़ॉल्ट कुंजी का मतलब है, मैं कैसे नहीं दिख रहा है "डिफ़ॉल्ट" काम कर सकता था, क्या होता है जब वहाँ एक वास्तविक मूल्य डिफ़ॉल्ट में नाम है एक ही कुंजी? – Anders

+1

क्यूटी ने key.isEmpty() –

+0

पर QSettings में जोर दिया है [QSettings.value] के लिए दस्तावेज़ [http://qt-project.org/doc/qt-5.0/qtcore/qsettings.html#value) ** प्रदान करता है दूसरा तर्क दूसरे तर्क को डिफ़ॉल्ट मान के रूप में देता है यदि उसे कुंजी नहीं मिलती है। ** यह बिल्कुल नहीं है कि सवाल क्या पूछ रहा था। –

4

इसके अलावा, एक अवधि काम करता है:

RegReader.value(".", NULL).toString();