क्या कोई जानता है कि मैं प्रोग्रामेटिक रूप से कैसे जांच सकता हूं (सी # का उपयोग करके) क्या मेरा प्रोग्राम किसी विशेष रजिस्ट्री कुंजी को पढ़ने/लिखने में सक्षम होगा (विशेष रूप से: "सॉफ़्टवेयर \ माइक्रोसॉफ्ट \ विंडोज \ CurrentVersion \ Run")?मैं कैसे जांचूं कि किसी उपयोगकर्ता को किसी विशेष रजिस्ट्री कुंजी को पढ़ने/लिखने की अनुमति है या नहीं?
मैं पूछ रहा हूं क्योंकि मेरे प्रोग्राम में 'स्टार्टअप' रन को सक्षम या अक्षम करने का विकल्प है। यदि वर्तमान उपयोगकर्ता को रजिस्ट्री में परिवर्तन करने की अनुमति नहीं है तो मैं इस विकल्प को अक्षम करना चाहता हूं। क्या यह कुंजी हमेशा मौजूदा उपयोगकर्ता द्वारा लिखी जाने की अनुमति है, या क्या संभावना है कि इसे बंद कर दिया गया है? अगर उत्तरार्द्ध, मैं इसे कैसे देखूं?
मैंने रजिस्ट्री अनुमतियों की जांच करने के कई विरोधाभासी तरीकों को देखा है - लेकिन मूल रूप से मुझे इसे पढ़ने की कोशिश करने से पहले एक विशिष्ट कुंजी जांचने का कोई तरीका नहीं मिल रहा है। मैं इसे एक्सेस करने और अपवाद प्राप्त करने की कोशिश करने से कुंजी तक पहुंचने से पहले चेक निष्पादित करता हूं।
किसी भी मदद की बहुत सराहना की जाती है।
टॉम
अंगूठे के सामान्य नियम के रूप में, स्थानीय मशीन कुंजियों को व्यवस्थापक अनुमति की आवश्यकता होती है लेकिन वर्तमान उपयोगकर्ता कुंजी नहीं होती है। – Brian
धन्यवाद ब्रायन - इसलिए यह मानना सुरक्षित है कि मैं इस कुंजी को लिख सकता हूं (यह उपयोगकर्ता कुंजी को निर्देशित करेगा) और बस विकल्प को हमेशा सक्षम रखें, और उसके बाद यह विफल होने पर किसी भी अपवाद को फेंक सकता है? – Beardy