2013-07-30 5 views
12

विंडोज 8 के साथ, जो आवेदन दिए गए दस्तावेज़ प्रकार के लिए खोलने के लिए के लिए उपयोगकर्ता की पसंदHKCU Software Microsoft Windows CurrentVersion Explorer FileExts में हैश क्या है। <extension> UserChoice?

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<extension>\UserChoice 

में रखा जाना करने के लिए अपने मशीन पर पीडीएफ़ के लिए लगता है, यह शामिल हैं:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice] 
"Hash"="xh8KhPWlZL0=" 
"ProgId"="AcroExch.Document" 

फिर भी एक और पर मशीन हैश अलग है। क्या हो रहा है, और क्या एक .reg फ़ाइल बनाने का कोई तरीका है जिसे इस वरीयता को सेट करने के लिए किसी अन्य मशीन पर लागू किया जा सकता है?

+1

लगभग, लेकिन काफी नहीं, http://stackoverflow.com/questions/16707684/how-to-set-default-browser-in-windows-8-using-c का डुप्लिकेट –

उत्तर

11

माइक्रोसॉफ्ट ने विंडोज 8 (शायद सुरक्षा कारणों से) में निर्णय लिया है कि उपयोगकर्ता अंतर्निहित GUI के माध्यम से डिफ़ॉल्ट प्रोग्राम केवल सेट करने में सक्षम होना चाहिए। अर्थात। डिज़ाइन द्वारा, आप किसी स्क्रिप्ट या प्रोग्रामेटिक रूप से डिफ़ॉल्ट हैंडलर सेट करने में सक्षम नहीं होना चाहिए।

हैश मान का उपयोग यह साबित करने के लिए किया जाता है कि UserChoice ProgId मान उपयोगकर्ता द्वारा निर्धारित किया गया था, न कि किसी अन्य माध्यम से। यह तब तक काम करता है जब तक माइक्रोसॉफ्ट एल्गोरिदम को रखता है जो हैश उत्पन्न करता है, और एक रहस्य हैश का उपयोग करके प्रोगिड को सत्यापित करने के लिए तंत्र।

सिद्धांत में आप हैश (और संभवतः अन्य छिपी ओएस सेटिंग्स) सेट करने के लिए रहस्य को समझ सकते हैं, लेकिन आपको इसकी विश्वसनीयता की कोई गारंटी नहीं होगी; अगला विंडोज अपडेट आपकी विधि को तोड़ सकता है, उदाहरण के लिए। आपको संभवतः परिवर्तन में अनुकूलन करने की आवश्यकता है, और ओएस में निर्मित माइक्रोसॉफ्ट के नए तरीकों का उपयोग करने के साथ रहते हैं।

संबंधित मुद्दे