2011-10-15 11 views
7

वहाँ 'निर्यात' एक निश्चित महत्वपूर्ण यह है कि एक के लिए एप्लिकेशन की सेटिंग में शामिल करने के लिए कोई तरीका है मैं वर्तमान में Microsoft.Win32.Registry कार्यों का उपयोग कर रहा बनाने, हटाने, सेट/मूल्यों को प्राप्त करने के लिए, आदि .REG फ़ाइल?निर्यात रजिस्ट्री कुंजी में फ़ाइल सी #

+0

संबंधित https://stackoverflow.com/a/16317193/492 –

उत्तर

0

एक और तरीका है इस के लिए powershell उपयोग करने के लिए हो सकता है। आप सी # से भी ps स्क्रिप्ट चला सकते हैं। Here एक ps स्क्रिप्ट जो reg फ़ाइल को निर्यात करता है की एक उदाहरण है।

4

आप पी/PInvoke सकता RegSaveKeyEx

+0

हाँ, इस तरह से यह करने के लिए है। वास्तव में बहुत सरल है। –

1

मुझे पता चला है कि जब एक वैध REG फ़ाइल बनाने के लिए कोशिश कर रहा है आप कुछ नियमों का पालन करने की जरूरत है:

आपकी फ़ाइल चाहिए पहली पंक्ति के रूप में इस होते हैं:

"Windows रजिस्ट्री संपादक संस्करण 5.00"

  1. अगली पंक्ति पर अपनी पंक्ति में कोष्ठक

    के बीच पूर्ण कुंजी पथ
  2. इसी नाम/मान युग्म जोड़ने के लिए, प्रत्येक जोड़ें। प्रारूप है:

    • "ValueName" = "Value" (SZ प्रकार)
    • "ValueName" = dword:00000000 (DWORD प्रकार - हमेशा 8 अंक)

BINARY के लिए, MULTI_SZ, EXPAND_SZ ... मैं नहीं कर सकते काफी टिप्पणी क्योंकि मैंने उनके साथ काम नहीं किया है।

  1. दोहराने 2 और 3 के रूप में अधिक से कुंजियों/उपकुँजियाँ

ध्यान दें कि मैं केवल इस का उपयोग किया है निर्यात करने के लिए/(SZ) मान स्ट्रिंग को संशोधित जोड़ने के लिए आवश्यक; यहाँ एक छोटे से सहायक है कि अच्छा काम करता है, एक भी मूल्य निर्यात करने के लिए है:

private void ExportRegistryKey(string RegistryKeyPath, string ValueName, string Value, string ExportFileName = "ExportedRegValue.reg") 
    { 
     string regTemplate = @"Windows Registry Editor Version 5.00\r\n[{0}]\r\n""{1}""=""{2}"""; 
     string regFileContent = string.Format(regTemplate, RegistryKeyPath, ValueName, Value); 
     File.WriteAllText(ExportFileName, regFileContent); 
     return true; 
    } 

आप एक से अधिक मान निर्यात करने के लिए की जरूरत है, तो आप एक शब्दकोश लेने के लिए समारोह को बदल सकता है, एक महत्वपूर्ण और वास्तविक मूल्यों के रूप में मूल्य नाम का उपयोग मूल्यों के रूप में, फिर regFileContent चर में जोड़ने के दौरान लूपिंग करें।

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