Tüm bu işlemleri .NET üzerinden Registery de nasıl yapacağımızı inceleyelim. Registery İşlemleri Windows registerysine erişmek için kullanacağımız namespace, Microsoft.Win32. RegisteryKey classları ve erişim methodları Microsoft.Win32 namepace’i içinde bize sunulmuş durumda. Dosya tipleri, registery üzerinde HKEY_CLASSES_ROOT bölümü altındaki keylerde tutulmaktadır. Başlat / Çalıştır menusune regedit yazarak, registery editorunuzu açıp, bu yapıyı inceleyebilirsiniz. Dosya uzantısı nokta (.) ile başlayan keyler halinde sisteme eklenmiş durumda bulunmaktadır. Yapmamız gereken işlemlere bakalım,
RegistryKey rkFileType = rkRoot.OpenSubKey(".kvnc");
if (rkFileType == null)
{ //Daha önce register edilmiş bir değer yok, register edilebilir.
}
RegistryKey rkNew;
rkNew = rkRoot.CreateSubKey(".kvnc");
rkNew.SetValue("", "kvnc.test"); RegistryKey rkInfo = rkRoot.CreateSubKey("kvnc.test");
rkInfo.SetValue("", "Veri Dosyasi");
RegistryKey rkShell = rkInfo.CreateSubKey("shell");
rkOpen.SetValue("", "&Open Document");
rkNew = rkOpen.CreateSubKey("command");
rkNew = rkInfo.CreateSubKey("DefaultIcon");
Oluşan kod tam olarak şu şekilde :
RegistryKey rkRoot = Registry.ClassesRoot;
{
rkNew.SetValue("", "kvnc.test");
RegistryKey rkInfo = rkRoot.CreateSubKey("kvnc.test");
RegistryKey rkOpen = rkShell.CreateSubKey("Open");
rkNew.SetValue("", @"C:\windows\notepad.exe %1");
//icon u almak için gerekli.!
rkNew.SetValue("", @"C:\windows\notepad.exe,0");