Windows’un programları çalıştırma veritabanı Registry, login isteyen uygulamalarda da yardımcı oluyor. Ne gereği var ram içinde de tutulabilir diyorsanız haklı olabilirsiniz. Uygulamayı farklı birilerine verdiğinizde kendi şifre ve kullanıcı adını kullanabilir. Bunun için her kullanıcıya ayrı değer tutan değişken tanımlamanız gerekir. Her neyse.. hikayeyi fazla uzatmadan Registry ile login olma olayına geçelim.
Bu projede 3 tane form kullandım. Biri ilk girişte yeni kullanıcı oluşturmak form, diğeri kullanıcı adı ve şifre ekranı form, diğeri de doğru login olunduğunda yeni sayfa için. Uygulamamızın çalışma mantığı şöyle ;
Formları ve uygun textbox ları formlara ekleyerek kod kısmına geçebiliriz; İlk olarak Program.cs kısmına anahtarın var olup olmadığını kontrol ediyoruz.
Burada yapılan iş CurrentUser’daki Software anahtarı altında oluşturmak istediğimiz Coder isimli anatarın var olup olmadığını kontrol ettiriyoruz. Eğer anahtar varsa, kullanıcının login olacağı formu açtırıyoruz. Yoksa yeni kullanıcı ekranı oluşturuyoruz.

Yeni kullanıcı oluşturulması için resimdeki gibi form ekranı oluşturup kod kısmına geçebiliriz;
private void button1_Click(object sender, EventArgs e) //kaydet butonu
{
RegistryKey anahtar = Registry.CurrentUser;
string sifre1 = txtsifre.Text;
string sifre2 = txtsifretekrar.Text;
if (sifre1 == sifre2)
{
try
{
anahtar = anahtar.CreateSubKey("Software\\Coder");
anahtar.SetValue("kullanici", txtkul.Text, RegistryValueKind.String);
anahtar.SetValue("sifre", txtsifre.Text, RegistryValueKind.String);
foreach (Control ktn in this.Controls) //tüm label'ları görünür yaptık
{
if (ktn is Label)
{
ktn.Visible= true;
}
}
label8.Text = txtkul.Text;
label9.Text=txtsifre.Text;
demosuresi();
Registry.CurrentUser.Flush();
}
catch (Exception)
{
label1.Text = "Hata!!!";
}
}
else
{
MessageBox.Show("Şifreler uyuşmuyor");
}
}
private void btngiris_Click(object sender, EventArgs e)// login formuna giriş yaptırmak için
{
Form1 frm = new Form1();
frm.Show();
this.Hide();
}

Ve son olarak login olmamızı sağlayan giriş formunu resimdeki gibi ayarlayıp kod kısmına geçebiliriz.
{
RegistryKey anahtar = Registry.CurrentUser;
anahtar=anahtar.OpenSubKey(@"Software\Coder");
string kuladi= (string)anahtar.GetValue("kullanici");
string sifre=(string)anahtar.GetValue("sifre");
if (txtkul.Text == kuladi & txtsifre.Text == sifre)
{
Form2 frm = new Form2();
frm.Show();
this.Hide();
}
else
{
MessageBox.Show("Giriş başarısız");
}
}
Registry’a kayıt ettiğimiz anahları okuyarak kullanıcı adı ve şifresini kontrol ederek giriş yaptık…
Bunlar da ilginizi çekebilir :
Registry, Windows'un çalışması ve çalıştırması gereken veritabanı diyebiliri ...
Csharp Console Application'da while döngüsünü kullanarak, kullanıcı adı ve ş ...
Başlığı ilgi çeksin diye biraz karıştırdım. Özür dileyerek karşılığında size ...
C#'da yapılan bir uygulamada, örneğin kullanıcıdan alınan bilgileri toplamak ...
Anadolu Üniversitesi Açık Öğretim Fakülte öğrencisini daha çok ilgilendiren ...