Сделай сам: Управление Winamp
29.11.2007 от Иван ШиркоПример: WinampUser(1, 105); – возвращает длину текущей композиции в секундах.
Итак, управлять Winamp’ом мы научились, осталось только воплотить наши навыки в небольшую программу.

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Registry,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
reg: TRegistry;
WinampHWND: HWnd;
implementation
{$R *.DFM}
function WinampUser(data: Integer; id: Integer):integer;
begin
WinampHWND := findwindow('Winamp v1.x', nil);
if (Wina mpHWND <> 0) then
result := SendMessage(WinampHWND, WM_USER, data,id)
else result := -1;
end;
procedure WinampCommand(Command: Integer);
begin
WinampHWND := findwindow('Winamp v1.x',nil);
if (WinampHWND<>0) then
SendMessage(WinampHWND, messages.WM_command, Command, 0);
end;
//Запуск Winamp’а
procedure StartWinamp;
var
WinampExe: String;
begin
reg := TRegistry.create;
reg.RootKey := Windows.HKEY_LOCAL_MACHINE;
reg.OpenKey('Software\CLASSES\Winamp.File\shell\open\command', False);
WinampExe := reg.ReadString('');
reg.Free;
if (WinampExe<>'') then
begin
WinampExe := copy(WinampExe, 2, length(WinampExe)-7);
WinExec(pchar(WinampExe), SW_SHOWNORMAL);
end;
end;
procedure Play;
begin
Рубрики: Delphi, Winamp, Сделай сам |
30.03.2008 в 23:18
[…] с плеером Winamp мы научились в статье Управление Winamp. Теперь перейдем к разработке плагинов для него. […]
03.06.2008 в 22:34
Очень полезный блог, автор всегда (почти) описывает актальные темы. Спасибо.
05.06.2008 в 06:08
Мне понравилось.
26.09.2008 в 21:55
Увлекательно. Добавлю в закладки. А сколько времени ушло на написание статьи?
01.03.2009 в 22:57
Статья хорошая, но шлак один есть:
не все “основные” сообщения WM_USER в той таблице :-\
01.10.2009 в 07:24
А у меня вопрос как вы узнаете код и описание команды и т.д.
Вопрос в том каким образом узнать список команд которыми можно пользоватся с помощью сообщений для любого другого приложения???
это очень важно! зарание благодарен
09.11.2009 в 07:33
>>dimid
для winamp’a команды брал из мануала, но для любого другого приложения можно подбирать команды простым перебором. Когда-то давно писал прогу для управления горячими клавишами любым приложением, там просто перебор использовался