[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Управление Winamp'ом
Fеnикs
Короче у меня такой тупик. Написал прогу на C++ Builder 6, которая должна по нажатию кнопки запускать winamp и включать его на плэй. Потом его тем же манером надо вырубить. Запустить то я его запустил, и, если не менять настроек, не щёлкать по его кнопочкам, всё ок, он играет. Но если его заюзали как-нить, всё, труба. Есть предложения? Причём с этим надо разобратся к пятнице.
Johnny
А каким образом ты кнопки сканил? Если через события, то ничего удивительного: фокус на винамп переходит, и события уже не к твоему окну льются. Если подругому, то опиши подробнее, подумаю...
Fеnикs
Нет, не так. При нажатии кнопки в моей проге запускается плэйлист винампа при помощи shellexecute(). Он прикрасно запускался и начинал играть, если у winamp'а перед закрытием стоял плэй. Вот мне интересно, с какими параметрами к нему надо обратиться, чтобы он, вне зависимости от прежнего состояния, включал плэй. И как его потом закрыть или нажать стоп.
Johnny
Как параметрами, увы незнаю.

Но могу предложить самый простой немудреный способ, это посылать ему сообщения о якобы нажатиях клавишах. Я имею ввиду сделать FindWindow, по классу найти окно винампа, сделать его активным (SetForegroundWindow), а затем делать SendMessage с нужными параметрами. Ну а убить его просто послав сообщение ws_exit, или сделать closewindow. Вот так.

P.S.: Я сам так делал со 2-м винампом, точно должно работать. Такой способ проканает для большинства программ.
Fеnикs
Winamp древний, вроде даже не второй. А с какими параметрами посылать сообщения?
Johnny
Даже если древний, должно работать.

Как я понимаю у винампа всегда было:
X - Play (код: 88)
C - Pause (код: 67)
V - Stop (код: 86)

Далее:

Для FindWindow класс 'Winamp v1.x', окно - пусто.

Нажатие клавиши: PostMessage(wnd, 256, vkey, 1)
Отпускание: PostMessage(wnd, 257, vkey, -1)

где wnd - окно винампа, vkey - код клавиши (см. вверх)

именно с такими параметрами у меня все работало.
Fеnикs
Гигантский сэнкс. Ща опробую. Тема пока не зарыта, там ещё куча проблем.
Fеnикs
Так. Либо я дурак... Что-то она нифига не делает. Класс где взять? Или это то же, что и заголовок окна?
Johnny
Класс - это я имел ввиду второй стриговый параметр у FindWindow, вот. А загловок - это второй. Просто если искать окно по заголовку окна, там ведь песня всегда разная, сл-но и заголовок разный. Поэтому заголовок nil.
Fеnикs
Всё, въехал уже, заработало, пасиба.
Fast Reply:

 Enable Smilies |  Enable Signature
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2012 Invision Power Services, Inc.