2015-03-20 9 views
5

Kayıt defterine bir anahtar eklememeyi denerim. Hata ayıklarken her şey yolunda. Kod çalışmalı. Ancak kayıt defteri düzenleyicide anahtar bulamıyorum. Herhangi bir fikrin var mı?Varsa kayıt defterine anahtar ekle

public void ConfigureWindowsRegistry() 
{ 
    var reg = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office\\Outlook\\FormRegions\\tesssst", true); 
    if (reg == null) 
    { 
     reg = Registry.LocalMachine.CreateSubKey("Software\\Microsoft\\Office\\Outlook\\FormRegions\\tesssst"); 
    } 

    if (reg.GetValue("someKey") == null) 
    { 
      reg.SetValue("someKey", "someValue"); 
    } 
} 

cevap

7

64bit OS kullanıyorsanız, bazı kayıt defteri anahtarları WOW64 tarafından yeniden yönlendirilir. Bu konu hakkında daha fazla bilgi MSDN numaralı telefondan edinilebilir, Wow6432Node'un altına bakmanız gerekir ve girişinizi bulacaksınız.

tesssst

HKEY_LOCAL_MACHINE \ Software \ Wow6432Node \ Microsoft \ Office \ Outlook \ FormRegions \: 64 bitlik makinede ilk kez yaratacak bu kodu, yürütmek, bu girdiyi (Ben yerel olarak çalıştı)

kayıt defterine sizin 64 bit bölümüne erişmek istiyorsanız yapmanız gereken:

public void ConfigureWindowsRegistry() 
{ 
    RegistryKey localMachine = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64); //here you specify where exactly you want your entry 

    var reg = localMachine.OpenSubKey("Software\\Microsoft\\Office\\Outlook\\FormRegions\\tesssst",true); 
    if (reg == null) 
    { 
     reg = localMachine.CreateSubKey("Software\\Microsoft\\Office\\Outlook\\FormRegions\\tesssst"); 
    } 

    if (reg.GetValue("someKey") == null) 
    { 
     reg.SetValue("someKey", "someValue"); 
    } 
} 

hedeflediğiniz doğru bölümündeki kayıt defteri anahtarını koyacağız yukarıdaki kodu çalıştırılıyor.

umarım yardımcı olur.