3-4 sene önce severek yaptığım OEM Editör programını bu blogumda paylaşmak kısmetmiş. Öncelikle OEM kelimesinin ne anlama geldiğine bakalım. OEM “Original Equipment Manufacturer” yani “Orjinal Ürün Üreticisi” anlamına gelen ingilizce bir kısaltmadır. Yani teknik servis veya parça üreticilerin kullandığı bir kalıplaşmış teknoloji kıslatması olarakta düşünebiliriz. İşte bu programda ilgili teknik servisin iletişim bilgilerinin bilgisayarda değiştirmeye yarıyor.
Peki bu bilgiler bilgisayarda nerede tutuluyor diye merak edenleriniz veya bilmeyenleriniz vardır diye hemen belirtiyim: Bilgisayarıma sağ tıklayın>açılan menüden ‘Özellikler’’ seçeneğini seçin açılan ekranda teknik servisle alakalı logo ve iletişim bilgilerinin tümü OEM bilgilerine dahildir. Bu programla oradaki bilgileri kolaylıkla değiştirebilirsiniz. Alttaki resimde hangi bilgilerin bulunduğunu ve değiştirebileceğinizi görebilirsiniz.
Bu program belki teknik servisler ve bilgisyarı kurcalamak isteyenler dışında kimsenin işini görmez ancak önemli olan programın içindeki kodlardır. Yani yeni şeyler öğrenmektir.
Şimdi programın çalışma mantığına bakalım. Program aslında sadece bir kaç veriyi kayıt defterine giriyor/değiştiryor. Tüm olay aslında bu. Ama program biraz işlevsel olsun iş görsün diye düşünülünce ek olarak kullanıcı arayüz kontrollerinden hata ayıklamaya kadar bazı detaylara iniliyor. Tabi programda can alıcı nitelikten olmasada bazı eksiklikler olabilir.
Program dediğim gibi işlevsellik katılınca biraz uzuyor, o nedenle bütün kodları buraya yazmak yerine önemli fonksiyonu buraya yazacam ve programın tamamını rar içinde kaynak kodlarla beraber paylaşacağım.
Daha fazla uzatmadan kayıt defterine giriş yaptığımız kod bloğunu paylaşıyım ve ardından kaynak kodların tümünün bulunduğu arşivi paylaşıyım.
if (_oemKey != null) // eğer anahtar geçersiz değilse değiştirme işlemine başlıyoruz.
{
// Kullanıcıdan alınan OEM bilgileri kayıt defterine giriliyor.
// Yani OEM bilgileri ayarlanıyor.
_oemKey.SetValue("Manufacturer", txt_man.Text);
_oemKey.SetValue("Model", txt_model.Text);
_oemKey.SetValue("SupportHours", txt_destekSaati.Text);
_oemKey.SetValue("SupportPhone", txt_destekNo.Text);
_oemKey.SetValue("SupportUrl", txt_webSite.Text);
_oemKey.SetValue("Logo",Environment.GetFolderPath(Environment.SpecialFolder.System)+@"logo.bmp");
_oemKey.Flush();
_oemKey.Close();
MessageBox.Show("Ayarlar uygulandı.","Bilgi",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
Kaynak kodları paylaşmadan önce önemli bir noktayı paylaşmak istiyorum. Program 32bit ve 64bit olmak üzere 2 dosya halinde gelmesinin nedeni kayıt defterinde farklılıklardır.
Projenin tamamını Google Drive üzerinden indirmek için tıklayınız