Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить название проигрываемой песни в Winamp? [D6, Win95/98, WinXP]


_sMile ©   (2002-10-11 06:52:00) 

Код, который берёт заголовок окна - не предлагать.


bytebutcher   (2002-10-12 03:21:00) [1]

_sMile - сходи на www.sourceforge.net и найди GPFWinamp - типа того - набор компонент для написания плагинов для WinAMP. При большом желании можно использовать ReadProcessMemory (если не хочешь писать плагин - а хочешь что бы это была отдельная прога)


_sMile   (2002-10-11 16:22:00) [2]

Можно и плагин написать. Не мог бы кто-нибудь кинуть ссылки на доки по созданию плагинов в Дельфях или примерчик?


REA   (2002-10-11 13:46:00) [3]

Да не возвратит он указатель, если это не плугин DLL. Процессы то разные.


Rouse_   (2002-10-11 07:53:00) [4]

Хм интересная петрушка получается, вот я сейчас попробовал

procedure TForm1.Button1Click(Sender: TObject);
const IPC_GETLISTPOS = 125;
IPC_GETPLAYLISTFILE = 211;
var wnd:THandle;
tmp:Pointer;
Index: Integer;
s:String;
begin
wnd := FindWindow("Winamp v1.x", nil);
Index := SendMessage(wnd, WM_USER, 0, IPC_GETLISTPOS);
Label1.Caption := IntToStr(Index +1);
tmp := Pchar(SendMessage(wnd, WM_USER, index, IPC_GETPLAYLISTFILE));
Label2.Caption := String(tmp);
//Read(tmp,s);
end;


Вроде должно было сработать, а нет, указатель tmp постоянно один и тот же адрес показывает, даже если песня другая играет, номер песни без проблем показывается, щас еще попробую помучится ;)


Viktor Kushnir   (2002-10-11 07:30:00) [5]

Может быть char *name это указатель?


_sMile   (2002-10-11 07:14:00) [6]

Да, я видел WinAmp SDK, видел и эти строки, но как SendMessage может возвращать нечисловоезначение? Если ты знаешь, пожалуйста напиши примерчик.


Rouse_   (2002-10-11 07:06:00) [7]

Вот тебе выдержка из WinAmp SDK

How do I get the filename (not title) of the current song?
First you must get the current track index from the playlist. Then you can get the filename.


int index = SendMessage(hwnd_winamp, WM_USER, 0, IPC_GETLISTPOS);
char *name = SendMessage(hwnd_winamp, WM_USER, index, IPC_GETPLAYLISTFILE);

Желаю успехов


Наверх

Титульная страница Поиск, карта сайта Написать письмо