imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 23.03.2004, 19:29     # 1
EnigMan
Member
 
Аватар для EnigMan
 
Регистрация: 21.11.2003
Адрес: 45-я параллель
Пол: Male
Сообщения: 230

EnigMan Косячил раньше, старается исправиться
Управление WinAmp из других программ

Хочу написать прогу для управления Winamp-ом из другой проги. Но есть Несколько проблем
1. Как я понимаю управлять можно через посылку системного сообщения WinAmpу, но где взять сами команды
2. Как эти команды отправлять (я в общем-то самоучка, освоил C++ Bilder 6)

Спасибо за помощь
__________________
Никогда не спорьте с идиотом. Сначала он опустит вас до своего уровня, а потом выиграет, так как у него большой опыт
EnigMan вне форума  
Старый 23.03.2004, 19:39     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
http://www.winamp.com/nsdn/winamp/sdk/
RaZEr вне форума  
Старый 24.03.2004, 17:30     # 3
EnigMan
Member
 
Аватар для EnigMan
 
Регистрация: 21.11.2003
Адрес: 45-я параллель
Пол: Male
Сообщения: 230

EnigMan Косячил раньше, старается исправиться
За ссылочку спасибочки, команды нашел. осталась небольшая проблемка. Как заполучить hWnd WinAmp'а (или его Handler, ну в общем тот системный идентификатор с которым ВинАмп запускается и по которому надо отправлять сообщение функцией SendMessage(hWnd,...))я так и не понял, а без него как с ним свяжешся
__________________
Никогда не спорьте с идиотом. Сначала он опустит вас до своего уровня, а потом выиграет, так как у него большой опыт

Последний раз редактировалось EnigMan; 24.03.2004 в 17:33.
EnigMan вне форума  
Старый 24.03.2004, 18:52     # 4
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Вот, к примеру, если в SDK класс описан, то окно можно отыскать:

procedure TForm1.Button1Click(Sender: TObject);
var
H : HWND; // ссылка на окно
begin
H := FindWindow ('TForm1', 'Form1'); // ищем окно, (класс окна, caption окна)
If H <> 0 then ShowMessage ('Есть Form1!') // окно найдено
else ShowMessage ('Нет Form1!') // окно не найдено
end;
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 24.03.2004, 20:38     # 5
EnigMan
Member
 
Аватар для EnigMan
 
Регистрация: 21.11.2003
Адрес: 45-я параллель
Пол: Male
Сообщения: 230

EnigMan Косячил раньше, старается исправиться
Не знаю, может плохо искал, но в SDK описание класса не нашел.
Думаю есть ещЕ функции, аналоги системной команды tasklist? может они помогут.
И вообще, может SendMessage может передавать сообщения только между родителями и потомками (хотя наверно ошибаюсь)
__________________
Никогда не спорьте с идиотом. Сначала он опустит вас до своего уровня, а потом выиграет, так как у него большой опыт
EnigMan вне форума  
Старый 25.03.2004, 13:15     # 6
ReapeR
Advanced Member
 
Аватар для ReapeR
 
Регистрация: 08.08.2002
Адрес: Nab. Chelny, Tatarstan
Сообщения: 447

ReapeR МолодецReapeR МолодецReapeR Молодец
EnigMan
не знаю как в билдере, но я писал управление винампом из дельфей (если надо могу исходники выслать).
окно ищется как findwindow(nil,'winamp v1.x') название класса окна точно не помню, но можешь посмотреть с помощью проги winsight32. в билдере она тоже скорее всего есть (borland же)
__________________
-=Nomen est Omen=-
ReapeR вне форума  
Старый 25.03.2004, 20:55     # 7
mosh
Mosherator
 
Аватар для mosh
 
Регистрация: 29.10.2002
Адрес: Moshcow
Сообщения: 1 201

mosh Бог с наворотамиmosh Бог с наворотами
mosh Бог с наворотамиmosh Бог с наворотамиmosh Бог с наворотамиmosh Бог с наворотамиmosh Бог с наворотамиmosh Бог с наворотамиmosh Бог с наворотамиmosh Бог с наворотамиmosh Бог с наворотамиmosh Бог с наворотамиmosh Бог с наворотамиmosh Бог с наворотами
Цитата:
Первоначальное сообщение от EnigMan
...осталась небольшая проблемка. Как заполучить hWnd WinAmp'а (или его Handler, ну в общем тот системный идентификатор с которым ВинАмп запускается и по которому надо отправлять сообщение функцией SendMessage(hWnd,...))я так и не понял, а без него как с ним свяжешся
Я бы сделал так:
char name[]="Winamp 5.0"; или
char name[]="Winamp 3"; или....какие там ещё есть версии?
HWND ag=FindWindow(NULL,name);
Немного криво, но 100% работает!
mosh вне форума  
Старый 25.03.2004, 21:06     # 8
vovik
IMHO Ворчун-2006
 
Аватар для vovik
 
Регистрация: 24.03.2003
Адрес: Москва
Пол: Male
Сообщения: 4 651

vovik СуперБогvovik СуперБогvovik СуперБог
vovik СуперБогvovik СуперБогvovik СуперБогvovik СуперБогvovik СуперБогvovik СуперБогvovik СуперБогvovik СуперБогvovik СуперБогvovik СуперБогvovik СуперБогvovik СуперБог
Не знаю какое нужно управление, но на офсайте я скачал плагинчи, который размещает кнопки пуск, пауза, вперед/назад и информацию о треке в активном на данный момент окне рядом с крестиком - удобно.
Или тебе надо чтобы не ты а сама прога управляла винампом?
vovik вне форума  
Старый 25.03.2004, 22:48     # 9
EnigMan
Member
 
Аватар для EnigMan
 
Регистрация: 21.11.2003
Адрес: 45-я параллель
Пол: Male
Сообщения: 230

EnigMan Косячил раньше, старается исправиться
Собственно такая прога понадобилась, чтобы расширить функциональность навороченной клавы от Genius, а то эти товарищи поддерживают только Windows Media Player
Цитата:
не знаю как в билдере, но я писал управление винампом из дельфей
У Bilder и Делфи вообще много общего: функции, библиотеки, компоненты... так что твои исходники пригодились бы...

Добавлено через 1 час и 30 минут:
Ага!!! кажется нашел.
Только в Bilder надо подключить модуль winuser.h
А выглядит это так
  • HWND hhh;
    hhh=FindWindowA("Winamp v1.x",NULL);
__________________
Никогда не спорьте с идиотом. Сначала он опустит вас до своего уровня, а потом выиграет, так как у него большой опыт
EnigMan вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 09:26.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.