Windows API Kullanımı - C#.NET

Dökümanın Konusu Ektedir : http://www.tahribat.com/Forum-Windows-Api-Kullanimi-C-Net-103321/

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.

Tarih:
Hit: 3022
Yazar: SharpShooter



Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.