Получение уровня громкости WinAMP'а.

Вспомнил забавный случай. При разработке «Весны-2006» оказалось, что получить программным путем уровень громкости от WinAMP штатными средствами невозможно. То есть совсем. А мне необходимо было ползунок громкости в плагине синхронизировать с громкостью самого плеера. Перерыл весь SDK к WinAMP, думал упустил где-то. Нет, действительно - никак. Остальное - что угодно: получить имя проигрываемого файла, его длительность, нажата ли кнопочка shuffle или repeat, нажать любую кнопку WinAMP'а... А получить, какая у него сейчас громкость - ни в какую. Пол-инета перерыл, пока нашел недокументированный способ:

Volume:=-666;
SoundVolume:=SendMessage(HWNDWinamp, WM_USER, Volume, IPC_SETVOLUME);

То есть сначала программно выставить громкость в -666 (естественно, она не выставится), а в «ответ» получить реальную громкость. Причем я специально проверял: с другими значениями Volume такого эффекта нет.
Вот это надо было так приколоться, а? Шутники...
-hunter- (21 окт 2007г, 19:54) #
Шаманство! ))) Может -666 какая-то константа, которая функцию заставляет громкость возвращать. Но число зверское)))
V.exeR (22 окт 2007г, 05:52) #
-hunter-, так и есть, это недокументированная функция и «пасхалка» в одном флаконе. А число... Число АНТИзверское, оно ж с минусом! :D

Двое против ветра - Снежинка
Lurk (03 ноя 2009г, 00:04) #
Круть!
:)