2013-04-01 8 views
5

साथ Windows रजिस्ट्री VB.NET में में मौजूद रहने पर मैं इस तरह Windows रजिस्ट्री में एक महत्वपूर्ण बना सकते हैं:चेक एक महत्वपूर्ण VB.NET

My.Computer.Registry.CurrentUser.CreateSubKey("TestKey") 

और मैं देख सकते हैं कि एक मूल्य के भीतर मौजूद है इस तरह एक महत्वपूर्ण:

If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\MyKey", _ 
     "TestValue", Nothing) Is Nothing Then 
    MsgBox("Value does not exist.") 
Else 
    MsgBox("Value exist.") 
End If 

लेकिन मैं कैसे जांच कर सकते हैं एक कुंजी एक खास नाम वाली रजिस्ट्री में मौजूद है?

उत्तर

6

एक तरह से Registry.OpenSubKey विधि

If Microsoft.Win32.Registry.LocalMachine.OpenSubKey("TestKey") Is Nothing Then 
    ' Key doesn't exist 
Else 
    ' Key existed 
End If 

उपयोग करने के लिए हालांकि मैं सलाह देंगे कि आप इस मार्ग नहीं लेते है। OpenSubKeyNothing लौटने की विधि का अर्थ है कि कुंजी अतीत में किसी बिंदु पर मौजूद नहीं थी। जब तक किसी अन्य प्रोग्राम में विधि एक और ऑपरेशन देता है तब तक कुंजी बनने की वजह हो सकती है।

मुख्य अस्तित्व की जांच करने और तथ्य के बाद इसे बनाने के बजाय, मैं सीधे CreateSubKey पर जाऊंगा।

+0

यह हमेशा काम नहीं कर सकता है। 64-बिट ओएस पर 32-बिट एप्लिकेशन डिफ़ॉल्ट रूप से HKLM \ Software \ Wow6432Node नोड को देखेगा। कुंजी के 64-बिट संस्करण को पढ़ने के लिए, आपको रजिस्ट्री व्यू निर्दिष्ट करना होगा –