27 Aralık 2012 Perşembe

C# ile Registry Yazma İşlemleri

    Windows 95 den beri bütün Windows sürümlerinde registry  işletim sistemindeki kullanıcı ayarları , program ve donanım ayarları ve Windows ile ilgili bütün ayarların saklandığı bir veri havuzudur.Bunun nedicesinde de registry işlemleri  program yazan lar için bir zorunluluk gibi gözükmektedir.Piyasadaki çoğu yazılım regisrty üzerine programların ayarlarını yazmakta ve okumaktadır.
Bu sebepten ötürü sizler ile uzun bir aradan sonra bu konu hakkında yazı yazmaya karar verdim.




Registry dosya sistemleri gibi hiyerarşik bir yapıya sahiptir.


  • HKEY_CURRENT_USER (HKCU) : Lokal makina'ya logon olan kullanıcının ayarlarını ihtiva eder.Bunlar nelerdir;Masaüstü ayarları network ayarları,printer ayarları vb...
  • HKEY_LOCAL_MACHINE (HKLM): Makinamızdaki donanım ve yazılım ile bilgileri ihtiva eder.
  • HKEY_USERS (HKUSR):Bütün kullanıcıların ayarlarını ihtiva eder.
  • HKEY_CURRENT_CONFIG (HKCF): Makina üzerindeki donanım ayarlarını ihtiva eder.
Daha ayrıntılı bilgi için microsfot.com üzerinden registry işlemlerine bakabilirsiniz.

.Net ile registry üzerinde işlemler yapmak için  "using Microsoft.Win32;" class'ını kullanmamız gerekli.


Class'ımızı ekledikten sonra ,yazma işlemini gerçekleştirmek için konuyu özetleyen kısa kodu yazıyorum.



public partial class Form1 : Form
    {
        private const string regPath = @"SOFTWARE\merolozsoy";
        public Form1()
        {
            InitializeComponent();
                   
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // ana registry key oluşturma
            RegistryKey key = Registry.CurrentUser.CreateSubKey(regPath);
           
            //Oluşurulan registry key için alt değerler atama 
            key.SetValue("data source", "192.168.1.6");
            key.SetValue("user", "sa");
            MessageBox.Show("Kayıt oluşturuldu");
        }
    }
















Yukarıda gördüğünüz gibi ben "CurrentUser" sekmesine ekledim .Siz yukarıdaki resimde gördüğnüz gibi istedğiniz sekmeyi seçebilirsiniz.

Bu işlemi yaptıktan sonra Başlat Çalıştır regedit yazarak registry ekranını açtığınızda CurrentUser sekmesi altında merolozsoy subkey içindeki atanmış değerleri görebilirsiniz.


11 Aralık 2012 Salı

Outlook'ta bir bağlantıyı tıklattığınızda hata iletisi çözümü

Microsoft Outlook'ta bir bağlantıyı tıklattığınızda, aşağıdaki hata iletisini alabilirsiniz:


                The operation hes been canceled due to restrictions in effect on this computer.Please contact your system administrator.


Bu hata daha önce yok ise büyük ihtimal explorer sürümü yükseltmişiniz.Ve yeni ayarların eksik veya hatalı olmasından kaynaklanır.Bu  hata için microsoft otomatik düzeltme aracı geliştirmiş.

http://support.microsoft.com/kb/310049#fixit4me Bu adresten erişebilirsiniz.

Yada kendiniz düzeltmek istiyorsanız.



Internet Explorer 9

  1. Internet Explorer'ı başlatın.
  2. Araçlar simgesini ve Internet Seçenekleri'ni tıklatın.
  3. Gelişmiş sekmesini ve sonra Sıfırla'yı tıklatın.
  4. Programlar sekmesini ve sonra Programları ayarla'yı tıklatın.
  5. Varsayılan programlarınızı ayarlayın'ı tıklatın.
  6. Microsoft Outlook'u tıklatıp seçin ve sonra Bu programı varsayılan olarak ayarla'yı tıklatın.
  7. Tamam'ı tıklatın ve Varsayılan Programlar iletişim kutusunu kapatın.
  8. Internet Seçenekleri iletişim kutusunda, Programlar sekmesini tıklatın ve Varsayılan web tarayıcısı altında Varsayılan yap'ı tıklatın.
  9. Tamam'ı tıklatın.

30 Ekim 2012 Salı

Outlook 2010'a eski PST uzantılı dosyamızı eklemek ve Outlook dosya kapasiteleri.


                Microsoft her çıkarttığı office versiyonu ile outlook dosya boyutlarında değişikliğe gitmiştir.önce ki versiyon olan Outlook 2002 ve önceki sürümlerinde, .pst dosyaları American National Standards Institute (ANSI) biçimindedir ve toplam boyut sınırı 2 gigabayttı.
               
               Bu versiyonlardan sonra outlook 2003 ve 2007 ise varsayılan olarak Unicode biçimindedir. Outlook 2007 ve Outlook 2003'te Unicode biçimindeki bir .pst dosyasının sınırı 20 GB olarak yapılandırılır.
          
               Microsoft Outlook 2010'da da, Kişisel Klasörler (.pst) ve Çevrimdışı Depo (.ost) dosyaları varsayılan olarak Unicode biçimindedir.Dosya boyutu olarak sınırlaması ise 50 gb olarak belirlenmiştir.

Şimdi sizlere Outlook 2010 programına var olan pst dosyamızın nasıl ekleneceğini anlatacağım.





ilk olarak Outlook 2010 programımızı açıyoruz ve file menüsünden Account Settings bölümüne basıyoruz.



Yukarıda ki ekran karşımıza gelecek.Bu ekran da bizi ilgilendiren kısım şuan  Data Files kısmı, burada outlook programımızın kullandığı pst dosyalarını görürsünüz.Bu ekranda pst dosyamız ile ilgili ayarlar ,ekleme kaldırma işlemleri veya yeni bir pst dosyası oluşturma gibi işlemler yapılabilir.Biz şimdi ekleme işlemi yapıyoruz.Yukarıda sarı ile işaretli Add... tuşuna basıyoruz.


Add tuşuna bastıktan sonra karşımıza bu ekran gelir.Burada benim daha önce oluşturduğum deneme.pst  dosyamı görmektesiniz.Bu ekran aslında bize hem yeni bir pst dosyası oluşturmamıza yarıyor hem de var olan eski pst dosyamızın eklenmesine yarıyor. File name kısmına istediğimiz bir ismi yazarsak ve ok tuşuna basarsak yazdığımız isim ile bir pst dosyası oluştuğunu görebilirsiniz. Esas konumuz olan var olan bir dosyayı eklemek ise amacımız benim oluşturduğum deneme.pst dosyasını seçip ok tuşuna basarız.


Dosyayı seçip ok dedikten sonra Data Files kısmında 2 adet Outlook dosyamız olduğunu göreceksiniz.Bu ekranda da ok tuşuna basıp kapatıyoruz.

Not: Başında siyah daire içince tik atılmış outlook dosyası varsayılan mail dosyasıdır.Bu da outlook'a gelen maillerin o pst dosyasına saklandığını ifade eder.



Ekranları kapattıktan sonra outlook'da artık deneme diye oluşturduğumuz pst dosyasını görebilirsiniz.yeni oluşturduğum için içinde herhangi bir klasör ve mail bulunmamaktadır.

Böylece bugün ki  yazımızın sonuna gelmiş bulunuyoruz.







8 Ekim 2012 Pazartesi

Server 2008 Active Directory kaldırma işlemi

Uzun bir aradan sonra tekrar blog yazılarıma devam etmeye başlayacağım.

Bu konumuzda üzerine active directory kurduğumuz server'ımızın üzerinden active directory'mizi kaldırma işlemini adım adım göstereceğiz.

Kullandığımız komut dcpromo bu komut active directory kurulumu sihirbazını çalıştırır. Aynı zamanda kaldırma işlemini de gerçekleştirir.


dcpromo komutunu çalıştırıyoruz.


Karşımıza kurulum sihirbazına hoş eldiniz ekranı gelir .Burada ileri düğmesine bsıp devam ediyoruz.



Kaldırma işlemini yapmakta olduğumuz sunucunun bir Global Katalog sunucusu olduğunu bildirmektedir. Tamam diyoruz.



Yukarıda gördüğünüz gibi son etki alanı denetleyici'sini kaldırıldığını belirtmektedir.Eğer kaldırmakta olduğumuz sunucu son etki alanı denetleyicisi olamasaydı o zaman bu kutuyu boş bırakıp geçecektik.




Burada şekilde de görüldüğü gibi DomainDNSZones bilgileri vardır. Burada bir Yenile yapıp daha sonra da İleri ile devam edebiliriz.



Silme işlemine oyan veriyoruz.


DNS  ile ilgili silme işleminin gerçekleşebilmesi için onay verilmesi.



Bu silme işlemini gerçekleştirmek için administrator şifresi ile giriş yapmamız lazım.



Bir sonraki aşamada ise Active Directory servisi sunucudan tamamen kaldırıldığında basit bir istemci bilgisayar gibi hareket edeceğinden yerel yönetici hesabı için bir şifre tanımalamasını yukarıdaki şekilde görüldüğü gibi tanımlıyoruz ve devam ediyoruz.



Active Directory servisinin kaldırılması ile ilgili özet bilgileri  şekilde de görüldüğü gibi Yukarıdadır.İleri diyerek devam ediyoruz.




Kaldırma işlemimiz başladı . İşlem bittikten  sonra Bilgisayarımızı Kapatıp açmamız gerekiyor. 








3 Ağustos 2012 Cuma

c# ile excel'e aktarım yaparken excel ayarlarını değiştiren komutlar.


            
Aldığımız Raporların programlama kısmındaki tarafı son kullanıcı için tam olarak bir şey ifade etmez.Bu raporu excel gibi programlara aktarması raporlama konusunda ve şekil verme konusunda daha rahat ettirecektir.Daha önceki blog yazımda excel'e aktarma işini gerçekleştirmiştik.Onun devamı bir yazıdır.Bu aktarım gerçekleştirilirken c# standart ayarları kullanır hücre değerlerinin sayı mı,tarih mi olduğuna bakmaz.Ya da kolon satır genişliklerine, yazı tipine boyutuna ve bunun gibi şeyleri standart ölçülerinde verir ve aktarır. Bizim burda yapacağımız ise excel verileri alırken aynı zamanda excel ayarlarını gerçekleştirmek.Aşağıda belirli özelliklerin komutlarını 

           


             sheet1.PageSetup.BottomMargin = 86; 

-- Margin özelliğini değiştirir. 86 değeri 3 cm denk gelmekte.
        
            sheet1.PageSetup.PrintTitleRows = "$1:$1";

-- Bu komut aslında sürekli kullandığımız birşey değil. burada ki komut konu başlıklarını print alırken her sayfa başına sabitler. 

            sheet1.PageSetup.Zoom = 80;

-- Bu komutumuz sayfa dışına taşan kısımları sayfaya sıgdırmak için kullanırız.
     
            sheet1.PageSetup.PrintGridlines = true;

-- Çıktı alırken çıktı alacağımız yazıların etrafına çizgi çeker.

            sheet1.PageSetup.Orientation = XlPageOrientation.xlLandscape;  

--Sayfamızın dikey mi, yatay mı olacağını belirleriz.          
            
            excel.Cells.EntireColumn.Font.Name = "Tahoma";

-- Bütün hücrelerin yazı font'unu belirleriz.

            excel.Cells.EntireColumn.Font.Size = 8;  

-- Bütün hücrelerin yazı büyüklüğünü belirleriz.
           


excel.Range["A1","J1"].Interior.Color=System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Silver);

-- a1 den j1'e kadar olan satırın hücre rengini değiştiririz.

            sheet1.get_Range("A1", "J1").Font.Bold = true;

-- Belirli hücreleri yazı tipini bold yapar.

            sheet1.get_Range("A1", "J1").WrapText = true;

-- Hücre içindeki değerleri kaydırır. 
           
            sheet1.get_Range("A1", "J1").VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
            sheet1.get_Range("A1", "J1").HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;

--Hücre içindeki yazıların hücrenin neresinde yer alacağını ayarlar.

            sheet1.Range["a1"].Select();

-- Aktarım yapıldıktan sonra excel açılınca direk a1 hücresi seçili gelir
            ((Range)sheet1.Rows[1, Type.Missing]).RowHeight = 29;

-- 1. Satır yükseklik değerini değiştirir. 
            excel.Cells.EntireColumn.AutoFit();
--Bütün hücreleri otomatik fitler ..

Bu gibi örnekleri çeşitlendirebilirsiniz.