Başlangıç > Dökümanlar, Kodlar > C# ile windows api’lerini kullanmak

C# ile windows api’lerini kullanmak

Herkese merhabalar,

Bugün c#.net’de windows apilerinin kullanılması konusuna değinmeye çalışıcam.Basit bir örnekle anlatıcam.

Öncelikle api’mizi import edelim.

resimde de görüldüğü gibi class seviyesinde dll’imizi import ediyoruz. ben kernel32.dll’ini kullanıcam.

altına yazdığımız metod kernel32.dll’inin içinde olan bir metot, parametreleri birebir aynı vermeliyiz.

ben örnek olarak bir piyano yapıcam tasarımımız şöyle olucak,

kod kısmına gelelim.

CalAnam diye bir metodumuz var bu 1 adet parametre alıyor , string tipinde.

Şimdi kodlarıma geçelim.

void CalAnam(string harf)
{
    switch (harf)
    {
        case "a":
            Beep(262, trackBar1.Value);
            break;

        case "w":
            Beep(277, trackBar1.Value);
            break;

        case "s":
            Beep(294, trackBar1.Value);
            break;

        case "e":
            Beep(311, trackBar1.Value);
            break;

        case "d":
            Beep(330, trackBar1.Value);
            break;

        case "f":
            Beep(349, trackBar1.Value);
            break;

        case "t":
            Beep(370, trackBar1.Value);
            break;

        case "g":
            Beep(392, trackBar1.Value);
            break;

        case "y":
            Beep(415, trackBar1.Value);
            break;

        case "h":
            Beep(440, trackBar1.Value);
            break;

        case "u":
            Beep(466, trackBar1.Value);
            break;

        case "j":
            Beep(495, trackBar1.Value);
            break;

        case "k":
            Beep(520, trackBar1.Value);
            break;
    }
}

switch yapısıyla hangi tuşa basılırsa ona göre beep metoduna frekans yolluyoruz. beep metoduda kernel32.dll’ini kullanarak bilgisayardan ses çıkışını sağlıyor.Beep metoduna yolladığımız diğer parametre ise çalma uzunluğu. onuda trackbar yardımıyla alıyoruz.

Şimdi her butona ayrı ayrı event yazmaktansa, bütün butonları seçip, propertiesden event sekmesine gelip “click” eventını oluşturuyoruz.

oluşan eventın içine ise

CalAnam((sender as Button).Text);

yazıyoruz.

birde piyanomuz klavyedende çalınabilsin diye, form’un “KeyPress” eventına şunları yazıyoruz.

CalAnam(e.KeyChar.ToString().ToLower());

evet karşınızda windows apisi kullanarak yazmış olduğumuz bir piyano :))

takıldığınız yerleri bu başlık altında sorabilirsiniz.

Reklamlar
  1. 03/10/2012, 13:44

    Merhaba,c# da user32.dll,kernel gibi dll dosyalarını referans olarak eklemeye kalktığımda COM component hatası alıyorum.Bu dosyalar c# dışındaki dillerde yazıldığı için import edilemiyormuş.Bu sorunu nasıl çözebilirim?Yada c# da yazılmış dll dosyalarının olduğu bir site var mı?Teşekkür ederim iyi çalışmalar

    Beğen

  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: