Динамик компьютера. Библиотека Kernel32.dll
При включении компьютера и загрузке операционной системы раздается сигнал из динамика на системном блоке. Режим залипания клавиш, включаемый при пятикратном нажатии клавиши Shift, также сопровождается звуковым сигналом. Этот простейший динамик не может воспроизводить сложные звуки, но его иногда можно использовать, когда необходимо обратить внимание пользователя на какое-либо событие, не будучи уверенным в том, что на его компьютере имеются звуковые колонки.
Создайте новое Windows-приложение и назовите его EasySound. Располагаем на форме семь кнопок и устанавливаем следующие свойства формы и кнопок:
Size | 344; 264 |
Text | Easy Sound |
Name | btnDo |
Location | 0; 0 |
Size | 48; 232 |
Text | До |
Name | btnRe |
Location | 48; 0 |
Size | 48; 232 |
Text | Ре |
Name | btnMi |
Location | 96; 0 |
Size | 48; 232 |
Text | Ми |
Name | btnFa |
Location | 144; 0 |
Size | 48; 232 |
Text | Фа |
Name | btnSol |
Location | 192; 0 |
Size | 48; 232 |
Text | Соль |
Name | btnLya |
Location | 240; 0 |
Size | 48; 232 |
Text | Ля |
Name | btnС |
Location | 288; 0 |
Size | 48; 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).