Форум — Ответы ( К темам )
? | Dr.Phoenix: Как установить Winamp'у определенную громкость? (21-04-2003 09:56:05) |
Как установить Winamp'у определенную громкость? И как нажать кнопки Play, Stop, Pause? | |
Alexander (21-04-2003 16:32:12) | |
Поскольку к WinAMP'у пишут плагины, то значит и интерфейс какой-то есть. Надо у них на сайте покопаться. Из более простых вариантов - 1) Перехвати сообщения, которые приходят к нему при нажатии кнопок и изменении значения ползунка громкости — через WinSpy — и попробуй послать анлогичные сообщения. 2) Посылай в систему сообщения якобы от мыши по координатам WinAmp'а (его родные можно найти через FindWindow, плюс ручками высчитай смещение, скажем из скриншота — и сделай вид, что на мыши нажали кнопку, ползунок переместили, отпустили кнопку). Однако тут есть проблемы — WinAmp бывает со скинами и т.д. 3) Вполне возможно, WinAmp является OLE-сервером и с ним можно работать через OLE Automation, как с Word-ом или Excel-ем. | |
Dr.phoenix (21-04-2003 16:44:08) | |
1) Что за WinSpy и где он лежит? 2) Как посылать сообщения якобы от мыши, и как сэмулировать нажатие и отпускание кнопки? По моему на всех скинах все ползунки расположены в одном и том же месте. | |
Alexander (21-04-2003 17:17:23) | |
WinSpy — утилита, показывающая все сообщения в Windows (в частности, можно вроде посмотреть для конкретного окна). Входит / входило в комплект утилит для компиляторов C++, дай бог памяти в Borland C++ 4.5/5.0 она называется WinSight, в Visual C++ вроде как WinSpy. Насчет мыши — надо послать desktop'у сообщение с кодом WM_LBUTTONDOWN — нажатие левой кнопки, потом WM_MOUSEMOVE, потом WM_LBUTTONUP — отпускание. Координаты — в параметрах (см. структуру TMessage ). | |
Dr.Phoenix (21-04-2003 17:26:12) | |
Все оказалось очень просто: /////////// HWND hwndWinamp=FindWindow("Winamp v1.x",NULL); SendMessage(hwndWinamp,WM_USER, 255, 122); //255 — полная громкость /////////// А ваще если на сайте винампа порыться, то можно много интересного найти. |