Fеnикs
Aug 31 2004, 11:14 AM
Короче у меня такой тупик. Написал прогу на C++ Builder 6, которая должна по нажатию кнопки запускать winamp и включать его на плэй. Потом его тем же манером надо вырубить. Запустить то я его запустил, и, если не менять настроек, не щёлкать по его кнопочкам, всё ок, он играет. Но если его заюзали как-нить, всё, труба. Есть предложения? Причём с этим надо разобратся к пятнице.
Johnny
Aug 31 2004, 12:11 PM
А каким образом ты кнопки сканил? Если через события, то ничего удивительного: фокус на винамп переходит, и события уже не к твоему окну льются. Если подругому, то опиши подробнее, подумаю...
Fеnикs
Aug 31 2004, 01:26 PM
Нет, не так. При нажатии кнопки в моей проге запускается плэйлист винампа при помощи shellexecute(). Он прикрасно запускался и начинал играть, если у winamp'а перед закрытием стоял плэй. Вот мне интересно, с какими параметрами к нему надо обратиться, чтобы он, вне зависимости от прежнего состояния, включал плэй. И как его потом закрыть или нажать стоп.
Johnny
Aug 31 2004, 02:34 PM
Как параметрами, увы незнаю.
Но могу предложить самый простой немудреный способ, это посылать ему сообщения о якобы нажатиях клавишах. Я имею ввиду сделать FindWindow, по классу найти окно винампа, сделать его активным (SetForegroundWindow), а затем делать SendMessage с нужными параметрами. Ну а убить его просто послав сообщение ws_exit, или сделать closewindow. Вот так.
P.S.: Я сам так делал со 2-м винампом, точно должно работать. Такой способ проканает для большинства программ.
Fеnикs
Aug 31 2004, 02:37 PM
Winamp древний, вроде даже не второй. А с какими параметрами посылать сообщения?
Johnny
Aug 31 2004, 02:52 PM
Даже если древний, должно работать.
Как я понимаю у винампа всегда было:
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
Aug 31 2004, 03:04 PM
Гигантский сэнкс. Ща опробую. Тема пока не зарыта, там ещё куча проблем.
Fеnикs
Aug 31 2004, 04:07 PM
Так. Либо я дурак... Что-то она нифига не делает. Класс где взять? Или это то же, что и заголовок окна?
Johnny
Sep 1 2004, 03:48 PM
Класс - это я имел ввиду второй стриговый параметр у FindWindow, вот. А загловок - это второй. Просто если искать окно по заголовку окна, там ведь песня всегда разная, сл-но и заголовок разный. Поэтому заголовок nil.
Fеnикs
Sep 1 2004, 05:23 PM
Всё, въехал уже, заработало, пасиба.
Fast Reply:
Powered by dgreen
Здесь расположена полная версия этой страницы.