मैंने टाइप स्ट्रिंग की एक कुंजी बनाई है और इसे mykey
रजिस्ट्री में HKEY_USERS\.DEFAULT
पर 1234
के मान के साथ नाम दिया है।
मेरे पास एक बटन के साथ एक विंडोज़ फॉर्म एप्लीकेशन है।
जब भी बटन दबाया जाता है तो मैं संदेशबॉक्स में mykey
का मान देखना चाहता हूं। मैं उसे कैसे प्राप्त कर सकता हूं?
यह जो मैंने किया है। लेकिन यह कोड केवल MessageBox में HKEY_USERS
दिखाता है, mykey
का मान नहीं।
private void button1_Click(object sender, EventArgs e)
{
RegistryKey rk = Registry.Users;
rk.GetValue("HKEY_USERS\\.DEFAULT\\mykey");
if (rk == null)
MessageBox.Show("null");
else
MessageBox.Show(rk.ToString());
}
2 जवाब
आपने User
को दो बार निर्दिष्ट किया है लेकिन आपको यह करना होगा कि इनमें से कोई भी, रजिस्ट्री मान को पढ़ने का सुरक्षित तरीका यहां दिया गया है
private void button1_Click(object sender, EventArgs e)
{
using (RegistryKey key = Registry.Users.OpenSubKey(".DEFAULT"))
{
if (key != null)
{
Object val = key.GetValue("mykey");
if (val != null)
{
MessageBox.Show(val.ToString());
}
else
{
MessageBox.Show("Null");
}
}
}
}
आप Users
भाग को दो बार निर्दिष्ट करते हैं। पहले रजिस्ट्री के हाइव के रूप में और फिर रजिस्ट्री कुंजी के रूप में।
आप इसे बाद वाले से हटा सकते हैं:
rk.GetValue(@".DEFAULT\mykey");
या आपको हाइव का चयन किए बिना रजिस्ट्री से शुरू करना चाहिए:
Registry.GetValue(@"HKEY_USERS\.DEFAULT\mykey");
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।