Создание Windows-приложений на основе Visual C#

         

Динамик компьютера. Библиотека Kernel32.dll


При включении компьютера и загрузке операционной системы раздается сигнал из динамика на системном блоке. Режим залипания клавиш, включаемый при пятикратном нажатии клавиши Shift, также сопровождается звуковым сигналом. Этот простейший динамик не может воспроизводить сложные звуки, но его иногда можно использовать, когда необходимо обратить внимание пользователя на какое-либо событие, не будучи уверенным в том, что на его компьютере имеются звуковые колонки.

Создайте новое Windows-приложение и назовите его EasySound. Располагаем на форме семь кнопок и устанавливаем следующие свойства формы и кнопок:

Form1, форма, свойствоЗначение
Size344; 264
Text Easy Sound
Button1, свойствоЗначение
NamebtnDo
Location0; 0
Size48; 232
TextДо
Button2, свойствоЗначение
NamebtnRe
Location48; 0
Size48; 232
TextРе
Button3, свойствоЗначение
NamebtnMi
Location96; 0
Size48; 232
TextМи
Button4, свойствоЗначение
NamebtnFa
Location144; 0
Size48; 232
TextФа
Button5, свойствоЗначение
NamebtnSol
Location192; 0
Size48; 232
TextСоль
Button6, свойствоЗначение
NamebtnLya
Location240; 0
Size48; 232
TextЛя
Button7, свойствоЗначение
NamebtnС
Location288; 0
Size48; 232
TextСи

Добавляем класс WinAPIClass:

Листинг 5.4.

(html, txt)

Создаем обработчики для кнопок:

Листинг 5.5.

(html, txt)

Запускаем приложение. Я не уверен, что в музыкальном смысле создаваемые сигналы в точности идентичны своим названиям, но тем не менее определенное сходство наверняка есть (рис. 5.3).


Рис. 5.3.  Приложение Easy Sound

На языке С метод в обработчике будет выглядеть следующим образом:

BOOL Beep(DWORD dwFreq, DWORD dwDuration);

На диске, прилагаемом к книге, вы найдете приложение EasySound (Code\Glava5\EasySound).


private void btnMi_Click(object sender, System.EventArgs e) { WinAPIClass.Beep(5000, 100); }

private void btnFa_Click(object sender, System.EventArgs e) { WinAPIClass.Beep(7000, 100); }

private void btnSol_Click(object sender, System.EventArgs e) { WinAPIClass.Beep(9000, 100); }

private void btnLya_Click(object sender, System.EventArgs e) { WinAPIClass.Beep(11000, 100); }

private void btnC_Click(object sender, System.EventArgs e) { WinAPIClass.Beep(13000, 100); }

Листинг 5.5.

Запускаем приложение. Я не уверен, что в музыкальном смысле создаваемые сигналы в точности идентичны своим названиям, но тем не менее определенное сходство наверняка есть (рис. 5.3).


Рис. 5.3.  Приложение Easy Sound

На языке С метод в обработчике будет выглядеть следующим образом:

BOOL Beep(DWORD dwFreq, DWORD dwDuration);

На диске, прилагаемом к книге, вы найдете приложение EasySound (Code\Glava5\EasySound).


Содержание раздела