मैं विंडोज 7 में विशिष्ट फ़ाइल एक्सटेंशन के लिए डिफ़ॉल्ट फ़ाइल एसोसिएशन को बदलने का एक तरीका खोजने का प्रयास कर रहा हूं। मेरे पास एक ऐप है जिसका उपयोग .tif फ़ाइलों को देखने के लिए किया जाता है, जो मैं उपयोगकर्ता को संकेत देना चाहता हूं यदि यह नहीं है उस फ़ाइल के लिए डिफ़ॉल्ट दर्शक प्रकार। अगर वे इसे डिफ़ॉल्ट बनाना चुनते हैं, तो मैं वर्तमान डिफ़ॉल्ट व्यूअर को ओवरराइड करना चाहता हूं। सिस्टम पर कोई अन्य दर्शक स्थापित नहीं होने पर यह ठीक काम करता है। जब एक और दर्शक है कि उपयोगकर्ता द्वारा चयनित किया गया है वहाँ है, मैं रजिस्ट्री कुंजी को नियंत्रित करता है कि यहाँ कि नहीं बदल सकते :क्या कोई फ़ाइल प्रकार एसोसिएशन लेने के लिए "UserChoice" रजिस्ट्री कुंजी प्रोग्रामेटिक रूप से सेट करने का कोई तरीका है?
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\UserChoice
मैं वेब किसी कि इस किया है खोजने की कोशिश कर घूमते है, लेकिन कोई नहीं लगता है कोई जवाब है। जब मैं इस कुंजी के भीतर "प्रोगिड" मान को अपडेट करने का प्रयास करता हूं, तो मुझे "रजिस्ट्री कुंजी पर नहीं लिखा जा सकता" या "अनुरोधित रजिस्ट्री एक्सेस अनुमति नहीं है" त्रुटियां प्राप्त होती हैं। कोड काफी सरल है:
var path = @"Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\UserChoice";
var key = Registry.CurrentUser.OpenSubKey(path, true);
key.SetValue("Progid", "myprogid...");
वहाँ इस कुंजी है कि यह किया जा रहा से रोकता है पर कुछ विशेष सुरक्षा प्रोग्राम के रूप में संपादित है?
क्या आपने इसे अपडेट करने का प्रयास किया है, उदाहरण के लिए एक कंसोल एप्लिकेशन में, जिसे आप व्यवस्थापकीय विशेषाधिकारों के साथ चलाते हैं? – ChristiaanV
यह एक डेस्कटॉप ऐप है, जो खुद के रूप में चल रहा है लेकिन व्यवस्थापक विशेषाधिकारों के बिना। वह मेरा अगला कदम था। – Jason
व्यवस्थापक के रूप में चलने से मदद नहीं मिली। – Jason