Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
CreateSubKey Nesnenin My.Computer.Registry yöntemi, bir kayıt defteri anahtarı oluşturmak için kullanılabilir.
Prosedür
Kayıt defteri anahtarı oluşturmak için
Anahtarı koymak istediğiniz kovayı ve anahtarın adını belirterek
CreateSubKeyyöntemini kullanın. ParametresiSubkeybüyük/küçük harfe duyarlı değil. Bu örnek, HKEY_CURRENT_USER altında kayıt defteri anahtarınıMyTestKeyoluşturur.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Kayıt defteri anahtarı oluşturmak ve anahtara bir değer ayarlamak için
Anahtarı koymak istediğiniz kovayı ve anahtarın adını belirterek
CreateSubkeyyöntemini kullanın. Bu örnek, HKEY_CURRENT_USER altında kayıt defteri anahtarınıMyTestKeyoluşturur.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")yöntemiyle
SetValuedeğerini ayarlayın. Bu örnek, dize değerini ayarlar. "MyTestKeyValue" için "Bu bir test değeridir".My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey", "MyTestKeyValue", "This is a test value.")
Örnek
Bu örnek, HKEY_CURRENT_USER altında kayıt defteri anahtarını MyTestKey oluşturur ve dize değerini MyTestKeyValue olarak This is a test valueayarlar.
My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
' Change MyTestKeyValue to This is a test value.
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
"MyTestKeyValue", "This is a test value.")
Sağlam Programlama
Anahtarınız için uygun bir konum bulmak için kayıt defteri yapısını inceleyin. Örneğin, geçerli kullanıcının HKEY_CURRENT_USER\Software anahtarını açmak ve şirketinizin adını içeren bir anahtar oluşturmak isteyebilirsiniz. Ardından kayıt defteri değerlerini şirketinizin anahtarına ekleyin.
Bir Web uygulamasından kayıt defterini okurken, geçerli kullanıcı Web uygulamasında uygulanan kimlik doğrulamasına ve kimliğe bürünme işlemine bağlıdır.
Verileri yerel bilgisayara () yazmak yerine kullanıcı klasörüne (CurrentUserLocalMachine) yazmak daha güvenlidir.
Bir kayıt defteri değeri oluşturduğunuzda, bu değer zaten varsa ne yapacağınıza karar vermeniz gerekir. Başka bir işlem( belki de kötü amaçlı bir işlem) değeri zaten oluşturmuş ve buna erişimi olabilir. Verileri kayıt defteri değerine yerleştirdiğinizde, veriler diğer işlem tarafından kullanılabilir. Bunu önlemek için GetValue yöntemini kullanın. Anahtar henüz mevcut değilse döndürür Nothing .
Kayıt defteri anahtarı ACL'ler (Erişim Denetim Listeleri) tarafından korunsa bile, parolalar gibi gizli dizileri kayıt defterinde düz metin olarak depolamak güvenli değildir.
Aşağıdaki koşullar bir özel duruma neden olabilir:
Anahtarın
Nothingadı : (ArgumentNullException).Kullanıcının kayıt defteri anahtarları (SecurityException) oluşturma izinleri yok.
Anahtar adı 255 karakter sınırını (ArgumentException ) aşıyor.
Anahtar kapatıldı (IOException).
Kayıt defteri anahtarı salt okunur (UnauthorizedAccessException).
.NET Framework Güvenliği
Bu işlemi çalıştırmak için, RegistryPermission sınıfı tarafından verilen ayrıcalık düzeyine sahip bir derleme gereklidir. Kısmi güven bağlamında çalıştırıyorsanız, işlem yetersiz ayrıcalıklar nedeniyle bir özel durum oluşturabilir. Benzer şekilde, kullanıcının ayarlar oluşturmak veya ayarlara yazmak için doğru ACL'lere sahip olması gerekir. Örneğin, kod erişimi güvenlik iznine sahip yerel bir uygulamanın işletim sistemi izni olmayabilir. Daha fazla bilgi için bkz. Kod Erişim Güvenliği Temelleri.
Uyarı
Kod Erişim Güvenliği (CAS), .NET Framework ve .NET'in tüm sürümlerinde kullanım dışı bırakılmıştır. .NET'in son sürümleri CAS ek açıklamalarını dikkate almaz ve CAS ile ilgili API'ler kullanılırsa hata üretir. Geliştiriciler, güvenlik görevlerini yerine getirmek için alternatif yöntemler aramalıdır.