Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Задачка про динамик (наверное простая) Добавлено: 18.07.05 16:08  

Автор вопроса:  mzx | ICQ: 259560026 
Проблема в следующем.

Прога отлавливает нажатия горячих клавиш через KeyPress или KeyDown и выполняет действия в зависимости от того в каком текстовом поле горячая клавиша была нажата, окошко там вызывает или еще что. При этом на некоторых компах системный динамик отвратительно бипкает, а так как полей много и приходится часто нажимать горячие клавиши бибканье скоро начинает сильно действовать на нервы. Как сделать чтобы сволочь ента не мешала работать?

1. Выдернуть провода нельзя, корпуса опечатаны.

2. Отключение динамика в Диспетчере устройств: "Системные устройства -> Встроенный динамик" не помогает. Бипкает все равно.

3. Изучение биоса на предмет того где мог бы отключаться динамик результата не принесло.

Ответить

  Ответы Всего ответов: 18  

Номер ответа: 1
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #1 Добавлено: 18.07.05 16:13
ну от ентра в текстбоксе я избавлялся так:

Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then KeyAscii = 0
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #2
Добавлено: 18.07.05 16:23
Или Multiline=True в текстюоксе.

Ответить

Номер ответа: 3
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #3
Добавлено: 18.07.05 16:41
вместо beep, если всё же нужен, юзать MessageBeep с нужным параметром

Ответить

Номер ответа: 4
Автор ответа:
 mzx



ICQ: 259560026 

Вопросов: 21
Ответов: 143
 Профиль | | #4 Добавлено: 18.07.05 17:25
не помогает, бипкает все равно :(

может можно какой апи-функцией его вырубить, или в виндах руками отключить отличным от вышеописанного способом

кажется эта фигня проявляется на компах на которых нет звуковой карты

Ответить

Номер ответа: 5
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #5 Добавлено: 18.07.05 17:45
Сколько одновременно нажатых клавиш составляют горячую?

Ответить

Номер ответа: 6
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #6
Добавлено: 18.07.05 17:48
одна ладонь

Ответить

Номер ответа: 7
Автор ответа:
 mzx



ICQ: 259560026 

Вопросов: 21
Ответов: 143
 Профиль | | #7 Добавлено: 18.07.05 17:49
одна Enter

код процедуры проще некуда

Ответить

Номер ответа: 8
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #8 Добавлено: 18.07.05 18:22
Попробуй отключить системный звук Звёздочка в звуковой схеме.

Ответить

Номер ответа: 9
Автор ответа:
 Apache2



ICQ: 162823477 

Вопросов: 31
Ответов: 114
 Профиль | | #9 Добавлено: 19.07.05 00:08
вообще-то встроенный динамик начинает бибикать, когда нет звуковой карты.. или отключена служба XP Win Audio... может в биосе порыться нужно и рубануть встровенный динамик?

Ответить

Номер ответа: 10
Автор ответа:
 someone



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #10
Добавлено: 19.07.05 08:48
Попробуй отключить системный звук Звёздочка в звуковой схеме.

да ты че, это ж wav.
Отруби Системный Динамик в устройствах.

Ответить

Номер ответа: 11
Автор ответа:
 mzx



ICQ: 259560026 

Вопросов: 21
Ответов: 143
 Профиль | | #11 Добавлено: 19.07.05 10:31
ясно, спасибо за советы

я так понял это вопрос на форум по бивесам

Ответить

Номер ответа: 12
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #12 Добавлено: 19.07.05 10:40
Не, не по бивесам...
Отключать что-то системное - вообще неправильно.

В MSDN нашёл за 10 секунд.
HOWTO: Disable the ENTER Key BEEP in a VB Text Box

Summary
In a Microsoft Visual Basic for Windows text box, the ENTER key causes a warning beep to sound only if the MultiLine property is set to False (the default) and the Warning Beep option is selected in the Sound dialog box of the Windows Control panel.

To disable the beep, in the KeyPress event procedure for the text box, set the value of KeyAscii (which is a parameter passed to KeyPress) equal to zero (0) when the user presses the ENTER key.

More Information
Specifically, use an IF statement to trap the ENTER key and the set KeyAscii to zero (0). Setting the value to zero before the event procedure ends prevents Windows from detecting that the ENTER key was pressed and prevents the warning beep. This behavior is by design and is due to the fact that a non-multiline text box is a Windows default class of edit box.

Example
The following code will prevent the beep:
   ' (Set Multiline property to False).

   Private Sub Text1_KeyPress (KeyAscii as Integer)
      If KeyAscii=13 Then
         KeyAscii=0
      End If
   End Sub

Ответить

Номер ответа: 13
Автор ответа:
 mzx



ICQ: 259560026 

Вопросов: 21
Ответов: 143
 Профиль | | #13 Добавлено: 19.07.05 10:50
Если кому интересно на http://sysadmins.ru/ дали такой совет:
Диспетчер устройств. Меню Вид -> Показать скрытые устройства.
В "Драйверы устройств не Plug and Play" отключить устройство Beep.

Блин, век живи - век учись.

Ответить

Номер ответа: 14
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #14 Добавлено: 19.07.05 10:50
Прекрасно работает, если именно в KeyPress, а не в KeyDown.

Ответить

Номер ответа: 15
Автор ответа:
 mzx



ICQ: 259560026 

Вопросов: 21
Ответов: 143
 Профиль | | #15 Добавлено: 19.07.05 10:58
Private Sub Text1_KeyPress (KeyAscii as Integer)
   If KeyAscii=13 Then
      KeyAscii=0
   End If
End Sub


Все равно вызывает сигнал на компах без звуковухи, в частности на серваке который у меня тут стоит.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам