Страница: 1 |
Страница: 1 |
Вопрос: Winamp. AVS. Как активировать извне?
Добавлено: 04.10.05 00:37
Автор вопроса: Victor | Web-сайт:
Задачка такая. Как заставить Winamp, который запущен и играет, отобразить окно с AVS из моей программы (неважно на чем написанной - в моем случае на VB6)? Еще очень желательно - как его к тому же в полноэкранный режим вывести.
А идея такая, что у меня AVS в качестве ScreenSaver'а будет.
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #1
Добавлено: 04.10.05 15:26
если браться серьезно, то надо копать Winamp SDK.
Но можно пробовать посылать винампу сочетание клавиш (crtl+shift+k alt+enter)
Номер ответа: 2
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #2
Добавлено: 05.10.05 01:38
Очень может быть, что на VB6 плагин для ВинАмпа написать невозможно, т.к. наверняка в качестве плагинов идут обычные _stdcall библиотеки, а не ActiveX, поэтому тут надо хотя бы PowerBasic.
А вообще странно установлена задача - заставить ВинАпм что-то сделать. Кто должен быть генератором событий? Если это должно происходить на стыке песен, то проще написать прогу, которая раз в секунду будет опрашивать ВинАмп и при изменении делать что хочешь, хоть танцевать.
Номер ответа: 3
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #3
Добавлено: 05.10.05 19:41
Я не собираюсь писать плагин. Все, что мне нужно - из моей программы заставить WinAmp запустить свой AVS, причем в полноэкранный режим.
Я же уже написал, что хочу сделать заставку. А именно:
Написать Exe, который при запуске включит Winamp AVS в полноэкранный режим.
Вроде как послать сочетания - идея неплохая. Но вот проблема - когда запустится заставка, если я пошлю методом SendKeys, заставка может прекратиться. Я на досуге попробую.
Проблема еще в том, как найти окно WinAmp и как послать туда это сочетание. Не будет ли проблемой тот факт, что Winamp может быть свернут или главное окно отключено (а я так делаю иногда - оставляю только окно PalyList и WindowShade).
Примечание. Юзаю Winamp 5.?
Номер ответа: 4
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #4
Добавлено: 06.10.05 13:35
hwndWinamp = FindWindow("Winamp v1.x", vbNullString)
API keybd_event, VkKeyScan, MapVirtualKey
Наверняка будет. SetForegroundWindow.
PS SDK посмотрел?
Номер ответа: 5
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #5
Добавлено: 06.10.05 13:38
и вообще поищи гуглом фразу
hwndWinamp = FindWindow("Winamp v1.x", vbNullString)
Номер ответа: 6
Автор ответа:
«UL.eXe»
ICQ: 197.895.916.247
Вопросов: 72
Ответов: 540
Профиль | | #6
Добавлено: 06.10.05 18:04
http://forum.softpedia.com/lofiversion/index.php/t25709.html
Номер ответа: 7
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #7
Добавлено: 06.10.05 21:00
Ничего не понимаю... А по-русски можно?.. Или хотя б по английски...
Номер ответа: 8
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #8
Добавлено: 06.10.05 21:24
hwndWinamp = FindWindow("Winamp v1.x", vbNullString)
Кажется нашел! Всем спасибо, дальше сам разберусь.
Номер ответа: 9
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #9
Добавлено: 07.10.05 23:04
Готово. Работает. Вот только теперь новая проблема - как узнать, не запущен ли AVS уже??? Я не нашел, как это сделать.
И еще. У меня че-то несколько раз это дело срабатывает, а потом выдает ошибку драйвера на синем фоне, и помогает только Reset. Виноват Winamp, драйвер или моя прога - не знаю, но хотелось бы это исправить. А с какой стороны к этому подойти - даже не знаю.