Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отлов изменений громкости Windows

296
22 октября 2006 года
Virtuoso
331 / / 31.07.2005
Visual Vasic 6.0

Здрасте!
У меня на клавиатуре можно регулировать громкость Windows, но на экране она это не отображает. Вот хочу написать программу, которая при изменении громкости, будет об этом сообщать.
Вопрос: как это изменение отловить?
Просто по таймеру проверять текущее состояние громкости? (я не знаю даже как это проверить).
Или может есть способ по-лучше?
Спасибо!
296
22 октября 2006 года
Virtuoso
331 / / 31.07.2005
Может вообще лучше осуществить отлов нажатий клавиш клавиатуры? Только опять же как это сделать?
У меня клавиатура с дополнительными клавишами, но без драйверов, автоматически винда сама всё определила. Дак вот как отловить нажатие этих ДОПОЛНИТЕЛЬНЫХ клавиш? Таких как Play, Stop, Volume +, Volume -, и т.д.
296
23 октября 2006 года
Virtuoso
331 / / 31.07.2005
Что никто не знает как узнать "значение" громкости Windows? Странно....
8.6K
24 октября 2006 года
Xavier
69 / / 23.08.2006
Попробуйти использовать хуки, выясните, какое сообщение посылается при нажатии нужных клавиш, далее используйте
 
Код:
object.GetVolume() As Long
где
 
Код:
object
      Resolves to a DirectSoundPrimaryBuffer8
296
24 октября 2006 года
Virtuoso
331 / / 31.07.2005
[QUOTE=Xavier]Попробуйти использовать хуки, выясните, какое сообщение посылается при нажатии нужных клавиш, далее используйте
 
Код:
object.GetVolume() As Long
где
 
Код:
object
      Resolves to a DirectSoundPrimaryBuffer8
[/QUOTE]
Я программист-любитель, поэтому не знаю, что такое хуки и что за - Resolves to a DirectSoundPrimaryBuffer8.
Вот такие пироги.
Можно более детально?
8.6K
24 октября 2006 года
Xavier
69 / / 23.08.2006
Есть такие функции WinAPI: SetWindowsHook и SetWindowsHookEx. Описание применительно к VB смотрите в MSDN.
296
24 октября 2006 года
Virtuoso
331 / / 31.07.2005
[QUOTE=Xavier]Есть такие функции WinAPI: SetWindowsHook и SetWindowsHookEx. Описание применительно к VB смотрите в MSDN.[/QUOTE]
А ну вот теперь более понятно, только бы знать что обозначают параметры этих функций) и вообще как ими пользоваться. Попробую разобраться) спасибо
296
24 октября 2006 года
Virtuoso
331 / / 31.07.2005
Блин, не думал, что этот вопрос окажется таким проблематичным. Вот есть у меня код, который устанавливает громкость. Может в нём же можно и считать текущее значение громкости, может просто я этого не вижу? Посмотрите, пожалуйста!
8.6K
26 октября 2006 года
Xavier
69 / / 23.08.2006
Советую посмотреть страницу http://support.microsoft.com/kb/319524
296
26 октября 2006 года
Virtuoso
331 / / 31.07.2005
Спасибо, конечно, но...
Или я чего-то не понимаю, или не так объясняю...
Как я с помощью этих хкуов могу узнать значение звука в винде?
А мне именно нужно узнать "на какой позиции стоит ползунок звука в винде" (вот так простыми словами).
8.6K
26 октября 2006 года
Xavier
69 / / 23.08.2006
Можно и без хуков. Просто создаёшь таймер, в котором будет определяться громкость через n-ые промежутки времени. Для этого нужно опросить основной аудио буффер с помощью функции object.GetVolume(). А там уж я думаю непоняток не должно быть!
296
26 октября 2006 года
Virtuoso
331 / / 31.07.2005
[QUOTE=Xavier]Можно и без хуков. Просто создаёшь таймер, в котором будет определяться громкость через n-ые промежутки времени. Для этого нужно опросить основной аудио буффер с помощью функции object.GetVolume(). А там уж я думаю непоняток не должно быть![/QUOTE]
Поймите, что я не знаю, что такое object и куда его писать, и что для этого подключать. Если это связано с Direct, то я с ним никогда не работал.
Скажу так: Может кто-нибудь выложить код, в котором, допустим в Label1.Caption, будет выводиться конкретное значение громкости Windows? Чтобы не писать с нуля, выше я выложил пример, в который, как мне кажется, можно просто вписать одну строчку для этого и всё. Буду очень признателен!
8.6K
26 октября 2006 года
Xavier
69 / / 23.08.2006
Честно говоря, не могу более точно сказать, т.к. у меня нет DirectX SDK.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог