क्या “HKL_LOCAL_MACHINE” के लिए “HKLM” एक उपनाम है?


61

HKLMअक्सर इसका उपयोग संक्षिप्त नाम के रूप में किया जाता है HKEY_LOCAL_MACHINE। कुछ अप्रत्याशित रूप से यह भी सच प्रतीत होता है जब मैं regएक मूल्य पूछता हूं ।

C:\>reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CurrentVersion"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
    CurrentVersion    REG_SZ    6.1


C:\>reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CurrentVersion"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
    CurrentVersion    REG_SZ    6.1

वहाँ एक संदर्भ है कि वे समकक्ष हैं, या कि एक दूसरे के लिए एक उपनाम है? या वास्तव में, ऐसे मामले हैं जहां वे एक ही चीज नहीं हैं?

जवाबों:


79

नहीं, हालांकि HKLM HKEY_LOCAL_MACHINE का संक्षिप्त नाम है, लेकिन Microsoft का कोई आधिकारिक कथन नहीं है कि यह हमेशा समकक्ष है। वास्तव में, यह स्पष्ट रूप से बताता है कि इन शॉर्टकट की उपलब्धता उपयोग किए जा रहे सॉफ़्टवेयर पर निर्भर करती है और इन्हें आमतौर पर "आमतौर पर उपयोग किए जाने वाले संक्षिप्त रूप" के रूप में संदर्भित किया जाता है।

ऐसे मामले हैं जहां HKEY_LOCAL_MACHINE को HKLM के लिए संक्षिप्त करने की अनुमति नहीं है, उदाहरण के लिए, जब नीति को परिभाषित करते हैं :

निम्नलिखित शर्तें लागू होती हैं:

  1. रजिस्ट्री पथ को प्रतिशत चिह्नों (%) द्वारा संलग्न किया जाना चाहिए।
  2. रजिस्ट्री सेटिंग REG_SZ या REG_EXPAND_SZ प्रकार होनी चाहिए। यदि रजिस्ट्री मान में पर्यावरण चर हैं, तो इनका विस्तार तब किया जाएगा जब नीति का मूल्यांकन किया जाता है।
  3. HKEY_LOCAL_MACHINE के लिए संक्षिप्त नाम के रूप में HKLM का उपयोग न करें, या HKEY_CURRENT_USER के संक्षिप्त नाम के रूप में HKCU का उपयोग न करें।
  4. एक रजिस्ट्री पथ नियम में एक प्रत्यय पथ भी शामिल हो सकता है।

( सॉफ्टवेयर प्रतिबंध नीतियों के प्रलेखन से , मेरे द्वारा बोल्डनेस जोड़ा गया।)


3
यह सही जवाब है। पूर्ण नाम केवल कर्नेल द्वारा समर्थित हैं। कोई भी संक्षिप्तीकरण उपकरण-विशिष्ट है।
एंड्रयू मेडिको

13
> यह स्पष्ट रूप से बताता है कि इन शॉर्टकट्स की उपलब्धता उपयोग किए जा रहे सॉफ़्टवेयर पर निर्भर करती है और इन्हें आमतौर पर "आमतौर पर उपयोग किए जाने वाले संक्षिप्ताक्षर" के रूप में संदर्भित किया जाता है, यह बहुत अच्छा होगा यदि आप इसके लिए किसी स्रोत से लिंक कर सकते हैं। (ऐसा नहीं है कि मुझे आप पर भरोसा नहीं है, लेकिन एक आधिकारिक स्रोत दावा को मजबूत बनाता है।)
बॉब

1
आप इन संक्षिप्ताक्षरों का उपयोग .regफाइलों में नहीं कर सकते हैं , आपको वहां स्क्वायर स्कॉप्स के अंदर पूरा नाम लिखना होगा

@LightnessRacesinOrbit कुछ सबूतों को गलत साबित करने के लिए स्वतंत्र महसूस करें।
एंड्रयू मेडिको

4

हाँ।

HKLM का अर्थ है HKEY_LOCAL_MACHINE चर।

और HKCU का अर्थ है HKEY_CURRENT_USER।

वे एक जैसी ही चीज हैं।

विकिपीडिया के अनुसार :

सात पूर्वनिर्धारित रूट कुंजियाँ हैं, पारंपरिक रूप से Win32 एपीआई में परिभाषित उनके निरंतर हैंडल के अनुसार, या पर्यायवाची संक्षिप्त नाम (अनुप्रयोगों के आधार पर):

  • HKEY_LOCAL_MACHINE या HKLM
  • HKEY_CURRENT_CONFIG या HKCC (केवल Windows 9x और NT में)
  • HKEY_CLASSES_ROOT या HKCR
  • HKEY_CURRENT_USER या HKCU
  • HKEY_USERS या HKU
  • HKEY_PERFORMANCE_DATA (केवल Windows NT में, लेकिन Windows रजिस्ट्री संपादक में अदृश्य है)
  • HKEY_DYN_DATA (केवल Windows 9x में, और Windows रजिस्ट्री संपादक में दिखाई देता है)

16
यह कहता है कि वे बोलचाल के समकक्ष हैं, लेकिन यह नहीं कि उन्हें एक ही चीज़ या उपनाम के रूप में परिभाषित किया गया है; विशेष रूप से "अनुप्रयोगों पर निर्भर करता है"।
जो किर्न

यह भी एक ज्यादातर-रहित विकिपीडिया पृष्ठ है, इसलिए इसे ले लो जो इसके लायक है (शायद सटीक या कोई एसओ या एसयू पृष्ठ से बेहतर नहीं है, और शायद इससे भी बदतर)।
जो

यद्यपि वे समान चीज हैं, संक्षिप्त नाम मानक का हिस्सा नहीं है और इसलिए शुद्ध समकक्ष नहीं है।

4

मुझे लगता है कि PowerShell के साथ, HKLM HKEY_LOCAL_MACHINE के लिए एक माउंट के रूप में मौजूद है, जैसे कि यह परिवर्तनशील है। उदाहरण

PS> गेट-आइटम HKLM:
नाम संपत्ति
---- --------
HKEY_LOCAL_MACHINE

PS> निकालें-PSDrive HKLM

PS> गेट-आइटम HKLM:
गेट-आइटम: ड्राइव नहीं ढूँढ सकता। 'एचकेएलएम' नाम की ड्राइव मौजूद नहीं है।

2

जैसा कि ट्विंकल नोट करते हैं, यह आमतौर पर इस्तेमाल किया जाने वाला संक्षिप्त नाम है। मैं किसी भी स्रोत को स्पष्ट रूप से यह कहते हुए नहीं देख सकता कि इसका उपयोग नहीं किया जा सकता है, लेकिन मुझे विंडोज़ 2000 रजिस्ट्री उपप्रकारों के लिए आमतौर पर उपयोग किए जाने वाले संक्षिप्तीकरण का संकेत देने वाली एक तालिका मिली, जो कि वर्तमान सेट (विंडोज 7 के अनुसार) के समान ही हैं। यहाँ मुझे पता चला है:

Windows 2000 के लिए रजिस्ट्री अवलोकन से (इस साइट के लिए स्वरूपण के लिए संशोधित):

Table 16.1 Registry Subtrees
HKEY_CLASSES_ROOT  HKCR
HKEY_CURRENT_USER HKCU
HKEY_LOCAL_MACHINE HKLM
HKEY_USERS HKU
HKEY_CURRENT_CONFIG HKCC
HKEY_PERFORMANCE_DATA No commonly used abbreviation

उस सूची को एक XP समर्थन लेख में प्रस्तुत किया गया है , प्रदर्शन डेटा सबट्री घटा (जो मुझे लगता है कि अब चला गया है और पंकज / विकिपीडिया समर्थन जो सोचा था)।

वहाँ भी है Windows रजिस्ट्री संदर्भ है, जो मैं पूर्वनिर्धारित कुंजी पेज है, जो विभिन्न subtrees, जिनमें से प्रत्येक अपने विशिष्ट पृष्ठ के लिए लिंक (जिनमें से अधिकांश विंडोज सर्वर किसी कारण के लिए 2003 पृष्ठों के लिए जाना है) को सूचीबद्ध करने के लिए जोड़ा। वे वहाँ भी संक्षिप्त सूची देते हैं, जो उपरोक्त के अनुरूप हैं।

इनमें से कोई भी पृष्ठ इस बात पर चर्चा नहीं करता है कि क्या प्रोग्रामिंग में संक्षिप्तीकरण का उपयोग किया जा सकता है, जो मुझे विश्वास दिलाता है कि स्पष्ट रूप से कहीं भी नहीं बताया गया है - लेकिन यह एक अधूरा नियम है (यदि आप सुनिश्चित नहीं हैं कि वे काम करेंगे, तो संक्षिप्त रूप में उपयोग न करें) ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.