Friday 10 November 2017

Registrykey getvalue बाइनरी विकल्प


हाय निक डिंग, समस्या यह है कि 0x80000024 (2147483684) एक हस्ताक्षरित पूर्णांक में स्टोर करने के लिए बहुत बड़ी है। एक हस्ताक्षरित पूर्णांक -2147483648 से 2147483647 के मूल्यों को स्टोर कर सकता है। एक बड़ा पूर्णांक का उपयोग करने के बजाय (उदाहरण के लिए, अधिकतम 9223372036854775807), एक हस्ताक्षरित पूर्णांक का उपयोग करें, जो एक पूर्णांक के रूप में एक समान आकार है, लेकिन बिट्स को केवल सकारात्मक स्टोर करने के लिए स्थान देता है संख्याएं, हम भंडारण स्थान को स्थानांतरित करने के लिए 0 से 42 9 49672 9 के मान की अनुमति देते हैं। याद रखने या अहस्ताक्षरित संख्या का उपयोग करने के लिए याद रखने का सबसे आसान तरीका यह है कि आप नकारात्मक और सकारात्मक दोनों नंबरों की आवश्यकता है या नहीं, केवल सकारात्मक संख्या, एक हस्ताक्षरित संख्या की ऊपरी सीमा से अधिक है वर्तमान में FaultTrack का विकास करना मैं प्रायः सी के बारे में ब्लॉग और। 2018 तक एक एमवीपी बनने की आशंका है। ईमेल: dnderson at dcomproductions dot com संपादित करें द्वारा DaveAnderson शनिवार, 03 मार्च, 2018 8:33 PM TSoftware द्वारा जवाब के रूप में प्रस्तावित मंगलवार, मार्च 06, 2018 6:04 पूर्वाह्न लियो लियू द्वारा उत्तर के रूप में चिह्नित - एमएसएफएफ मॉडरेटर मंगलवार, 13 मार्च, 2018 6:19 पूर्वाह्न निक डिंग द्वारा जवाब के रूप में अचिह्नित शनिवार, 24 मार्च 2018 6:24 पूर्वाह्न निक डिंग द्वारा उत्तर के रूप में अचिह्नित शनिवार, 24 मार्च 2018 6:24 पूर्वाह्न शनिवार, मार्च 03, 2018 8:31 PMRegistryKey GetValue विधि (स्ट्रिंग) एक रजिस्ट्री कुंजी का एक मान हो सकता है जो कि किसी भी नाम से जुड़ा नहीं है। जब यह अनाम नाम रजिस्ट्री संपादक में प्रदर्शित होता है, तो स्ट्रिंग (डिफ़ॉल्ट) एक नाम के स्थान पर दिखाई देती है। इस अनाम नाम को पुनः प्राप्त करने के लिए, नाम के लिए रिक्त या खाली स्ट्रिंग () निर्दिष्ट करें जब GetValue विधि विस्तार योग्य स्ट्रिंग मान (RegistryValueKind. ExtandString) प्राप्त करता है, तो यह स्थानीय वातावरण से डेटा का उपयोग करते हुए पर्यावरण तार का विस्तार करता है। किसी दूरस्थ कंप्यूटर पर रजिस्ट्री से विस्तार योग्य स्ट्रिंग मान को पुनर्प्राप्त करने के लिए, यह निर्दिष्ट करने के लिए GetValue (स्ट्रिंग, ऑब्जेक्ट, रजिस्ट्री वाल्व ऑप्शंस) विधि अधिभार का उपयोग करें, जिसे आप पर्यावरण स्ट्रिंग का विस्तार नहीं करना चाहते हैं। यदि एक वैल्यूएबल वेरिएबल्स के विस्तार योग्य संदर्भ वाले मान को स्ट्रिंग (रजिस्ट्री वैल्यूकेंड। स्ट्रिंग) के रूप में संग्रहित किया गया है, बजाय एक विस्तार योग्य स्ट्रिंग (रजिस्ट्रीवॉलकिंड। एक्सपैंडस्ट्रिंग) के रूप में, GetValue इसे विस्तृत नहीं करता है। आप ExpandEnvironmentVariables विधि को कॉल करके पुनर्प्राप्त किए जाने के बाद इस तरह की स्ट्रिंग का विस्तार कर सकते हैं। PerformanceData कुंजी से डेटा को पुनर्प्राप्त करने का अनुशंसित तरीका है कि रजिस्ट्रीकी की बजाय PerformanceCounter क्लास का उपयोग करना है GetValue विधि GetValue REGNONE या REGLINK प्रकार के मूल्यों को पढ़ने में सहायता नहीं करता है दोनों ही मामलों में, वास्तविक मान (रिक्त) वास्तविक मूल्य के बजाय दिया जाता है। प्रबंधित सी: पढ़ें और लिखें रजिस्ट्री कुंजी और मान टॉम आर्चर दिखाता है कि कैसे प्रोग्रामेटिक रूप से विंडोज रजिस्ट्री कुंजी और प्रबंधित सी से मान को संशोधित करता है, यह बहुत आसान और अधिक सहज है पहले। प्रोग्रामात्मक रूप से विंडोज रजिस्ट्री तक पहुँचने से एक जटिल कार्य का एक सा हो गया है। इस कारण से, Windows अनुप्रयोगों से रजिस्ट्री तक आसान और अधिक सहज ज्ञान युक्त पहुंच सक्षम करने के लिए वर्षों में एक असंख्य सी क्लास बनाए गए हैं। शुक्र है, ढांचे के साथ रजिस्ट्री कुंजियों और मूल्यों को पढ़ने और लिखने का कार्य स्मारकीय रूप से आसान है। यह आलेख निम्न सामान्य रजिस्ट्री कार्यों को दिखाता है (चित्रा 1 इस आलेख के साथ मिश्रित-मोड एमएफसी डेमो आवेदन दिखाता है): चित्रा 1: संलग्न डेमो में सबसे सामान्य कार्य दिखाता है जिसमें प्रोग्रामेटिक रूप से विंडोज रजिस्ट्री तक पहुंचने और संशोधित करने की आवश्यकता होती है। नोट: निम्न कोड स्निपेट्स का उपयोग करने के लिए, आपको अपने कोड में नामस्थान Microsoft :: Win32 को शामिल करना होगा, और यदि आप मिश्रित-मोड अनुप्रयोग लिख रहे हैं, तो संदेश बॉक्स को अनिर्भावित करें। रजिस्ट्री कुंजी को कैसे गणना करें, समझने के लिए, HKEYCURRENTUSER (HKCU) हाइव में सॉफ़्टवेयर कुंजी को एन्यूमरेट करने का मूल उदाहरण पर विचार करें। उस कार्य को पूरा करने के लिए निम्न चरणों का पालन किया गया है: स्थिर रजिस्ट्री :: CurrentUser मान का उपयोग करके रजिस्ट्रीकी ऑब्जेक्ट को इंस्टाइएट करें। ध्यान दें कि आप इस तरीके से सभी मानक रूट कुंजी (हाइव्स) का उपयोग कर सकते हैं। उदाहरण के लिए, आप रजिस्ट्री :: क्लासेस रूट के माध्यम से HKEYCLASSESROOT तक पहुंच सकते हैं। रजिस्ट्री के माध्यम से HKEYLOCALMACHINE :: लोकल मैकिन और इसी तरह। रजिस्ट्री कुंजी का रजिस्ट्री कुंजी का प्रतिनिधित्व करें जिसे आप रजिस्ट्री कुंजी के साथ काम करना चाहते हैं (सॉफ़्टवेयर कुंजी, इस मामले में) रूट कुंजी रजिस्ट्रीकी :: GetSubKey विधि से कॉल के माध्यम से। रजिस्ट्री कुंजी :: ओपन विधि को कॉल के जरिए रजिस्ट्री कुंजी खोलें। रजिस्ट्रीकी :: GetSubKeyNames विधि को कॉल करके उपकुंजियों को पुनर्प्राप्त करें। यह विधि उप-नामों की एक सरणी देता है (स्ट्रिंग ऑब्जेक्ट के रूप में) लौट गई सरणी के माध्यम से दोहराएं, अपना स्वयं का एप्लिकेशन-विशिष्ट तर्क निष्पादित करें। किसी भी खुली रजिस्ट्रीकी ऑब्जेक्ट को संबंधित बंद विधियों के लिए कॉल के माध्यम से बंद करें। रजिस्ट्री कुंजी मान की गणना करने की प्रक्रिया निम्न अंतर के साथ कुंजी को एन्यूमर करने के लिए लगभग समान है: रजिस्ट्री कुंजी मान नामों की सरणी प्राप्त करने के लिए, रजिस्ट्रीकी :: GetValueNames विधि को कॉल करें लौटे हुए सरणी में प्रत्येक प्रविष्टि एक स्ट्रिंग है जो मान के नाम का प्रतिनिधित्व करती है। वास्तविक मान प्राप्त करने के लिए, फिर आप उस नाम को रजिस्ट्रीकी :: GetValue विधि से पास करें: नोट: रजिस्ट्रीकी :: GetValue विधि एक आधार ऑब्जेक्ट देता है जिसे आप उचित प्रकार में डालें। इसलिए, आपको यह पता होना चाहिए कि आप किस प्रकार की उम्मीद कर रहे हैं क्योंकि रजिस्ट्री (स्ट्रिंग, संख्यात्मक, या बाइनरी मान) में परिभाषित मूल्यों का निर्धारण करने का कोई प्रोग्राममैटिक तरीका नहीं है। एक नई रजिस्ट्री कुंजी बनाने के लिए, आपको बस कॉल करने की आवश्यकता है रजिस्ट्रीकी :: CreateSubKey विधि यह विधि नव निर्मित कुंजी का प्रतिनिधित्व करने वाला एक रजिस्ट्रीकी ऑब्जेक्ट देता है। आप तब सेट की गई विधि को कॉल के माध्यम से उस चाबियाँ बना सकते हैं। निम्नलिखित कोड स्निपेट HKCUSoftware कुंजी के अंतर्गत एक नई कुंजी बनाता है जिसे मेरा उत्पाद कहा जाता है और फिर विवरण और संस्करण के लिए मूल्य जोड़ता है: नोट: CreateSubKey विधि एक अपवाद नहीं फेंक लेगी यदि वह पहले से मौजूद उपकुंजी के कारण विफल हो जाती है इसके बजाय, विधि केवल रिक्त का मूल्य देता है। यह कार्य मूल्यों को बनाने के लिए लगभग समान है, केवल अंतर के साथ, क्योंकि कुंजी पहले से ही मौजूद है, आपको सेटिवल्यू विधियों (ओपनस्यूबकेआई विधि) को कॉल करने से पहले की कुंजी (रजिस्ट्रीकी :: ओपनस्बुकी के माध्यम से) को खोलने की आवश्यकता है, यदि कुंजी है अस्तित्व में नहीं है।): सी 2018 रजिस्ट्री के माध्यम से पढ़ने के लिए RegistryKey. GetValue () एक अपवाद फेंकने के बिना आकस्मिक कोड समाप्ति का कारण बनता है - WP22 द्वारा माइक्रोसॉफ्ट द्वारा 28.04.2018 को 13:00 पर पोस्ट किया गया यह दिलचस्प मुद्दा लाने के लिए धन्यवाद। हम हमेशा आभारी होते हैं जब ग्राहक संभावित चिंताओं की ओर इंगित करते हैं - यह हमें फ्रेमवर्क की गुणवत्ता सुनिश्चित करने और उत्पाद को सही दिशा में चलाने में मदद करता है। मुझे आपकी समस्या का पुन: प्रजनन करने में कुछ परेशानी हुई थी, और मैं भी आपके विवरण के एक पहलू के बारे में निश्चित नहीं था। मैं समझता हूं कि आपको इस पंक्ति में विफलता थी: इंट वैल्यू सिस्टम। कनवर्ट। ToInt32 (OurHKEY. GetValue (MyMyValuequot, DefaultValue)) इस लाइन में 2 एपीआई निमंत्रण हैं और पहला सवाल यह है कि यह सत्यापित करने के लिए कि गलती कौन है। इसके अलावा 8211 आप कह रहे हैं कि कोई अपवाद फेंका नहीं है। मुझे यकीन नहीं है कि 8220 ब्रेकिंग 8221 द्वारा आप का मतलब क्या है क्या आपकी प्रक्रिया बिना किसी लक्षण के बिना गायब हो जाती है। कोई विन्डोज़ त्रुटि संदेश नहीं, वॉटसन संवाद और कोई विरूपण लॉग प्रविष्टि नहीं यदि ऐसा है, तो आप यह कैसे जान सकते हैं कि आपके प्रोग्राम की कौन सी पंक्ति किस प्रकार समस्या को उत्पन्न करती है इसे आगे की जाँच करें, मैंने पहली बार एक रजिस्ट्री कुंजी बनाया HKEYCURRENTUSERSoftwareBugTest एक मूल्य MyValue 8220 प्रारंभिक स्ट्रिंग मान 8221 प्रकार REGSZ के साथ। मैं फिर निम्नलिखित प्रोग्राम चलाता हूं: सार्वजनिक स्थिर शून्य Main (string unusedArgs) Int32 डिफ़ॉल्टValue 22 रजिस्ट्रीकी हमारे। रजिस्ट्री। CurrentUser. OpenSubKey (quotSOFTWAREBugTestquot, गलत) ऑब्जेक्ट objVal ऑब्जेक्ट का प्रयास करें हमारे। objVal) Int32 intVal system. Convert. ToInt32 (objVal) कंसोल. WriteLine (quotintVal: quot quotquot, intVal) अंत में हमारे एचईकेई। बंद करें () फ्रेमवर्क संस्करण 2.0, 3.0, 3.5 और 4.0 पर मुझे यह परिणाम प्राप्त होता है: objVal: quotInitialized स्ट्रिंग वैल्यूपॉट अप्रयुक्त अपवाद: System. FormatException: इनपुट स्ट्रिंग एक सही प्रारूप में नहीं था। System. Number. StringToNumber (System strings, NumberStyles विकल्प, NumberBufferamp संख्या, NumberFormatInsecnIncimal) पर System. Number. ParseInt32 (String s, NumberStyles शैली, NumberFormatInfo जानकारी) पर System. String. System. IConvertible. ToInt32 (IFormatProvider प्रदाता) पर System. Convert. ToInt32 (ऑब्जेक्ट मान) Program. Main (String unusedArgs) में Program. cs में ऐसा लगता है कि रजिस्ट्री ठीक से पढ़ी जाती है और यह कि एक पूर्णांक को पढ़ने के मान को परिवर्तित करने की कोशिश करते समय एक अपवाद फेंका जाता है। हालांकि, यह उम्मीद की जानी थी। कृपया यह भी ध्यान रखें कि अपवाद फेंक दिया गया है, तो अपने रिप्रो कोड में आप कुंजी बंद नहीं करते हैं। यह त्रुटि के बाद असंगत पहुंच का कारण हो सकता है OpenSubKey और चाबी के बीच सब कुछ आसपास की कोशिश करें। कोशिश-आखिरकार ब्लॉक में बंद करें। मैं इस बग को अभी सुलझाऊंगा, हालांकि, यदि आपको लगता है कि यह मूल्यांकन गलत है या यदि आपको लगता है कि आपको नई जानकारी है, तो कृपया इसे फिर से खोलने या एक नया बनाने के लिए बेझिझक। आशा है कि ये आपकी मदद करेगा। ग्रेग (बेस क्लास पुस्तकालय टीम पर सॉफ्टवेयर इंजीनियर) माइक्रोसॉफ्ट द्वारा 26.01.2018 को 22:58 पर पोस्ट किया गया इस समस्या की रिपोर्ट करने के लिए धन्यवाद। यदि यह पढ़ा स्ट्रिंग संख्यात्मक है, तो मैं इसे दोहरा सकता हूं। अगर पढ़ना स्ट्रिंग संख्यात्मक नहीं है, तो यह हमेशा मेरे बॉक्स पर एक FormatExcepiton के माध्यम से होता है। क्या आप कृपया पुष्टि करने में मदद करें कि क्या मैं सही रिप्रोन करता हूं यदि आप हमें यह जानकारी जितनी जल्दी संभव प्रदान कर सकते हैं, इसकी बहुत सराहना की जाएगी। माइक्रोसॉफ्ट द्वारा 25.01.2018 को 18:59 पर प्रकाशित किया गया था आपके फ़ीडबैक के लिए धन्यवाद, हम वर्तमान में सबमिट की गई समस्या की समीक्षा कर रहे हैं। यदि यह समस्या तत्काल है, तो सीधे समर्थन से संपर्क करें (support. microsoft)

No comments:

Post a Comment