Сделай сам: Управление Winamp | Программирование на Delphi и не только

Реклама на сайте

Перевозка роялей, продажа пианино. Продам пианино немецкое.
внедрение 1с предприятие

Почитайте!

Нас читают

Статьи о программировании и не только

Mail.Ru

Rambler's Top100

Programming Blogs - BlogCatalog Blog Directory

Реклама на сайте

Открытые service desk системы для облачных платформ

Сделай сам: Управление Winamp

29.11.2007 от Иван Ширко

Страница: 1 2 3 4

Пример: WinampUser(1, 105); – возвращает длину текущей композиции в секундах.

Итак, управлять Winamp’ом мы научились, осталось только воплотить наши навыки в небольшую программу.

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

Страница: 1 2 3 4

Рубрики: Delphi, Winamp, Сделай сам |

Комментарии (7)

  1. Сделай сам: Визуализационный плагин к Winamp | Статьи о программировании и не только пишет:

    […] с плеером Winamp мы научились в статье Управление Winamp. Теперь перейдем к разработке плагинов для него. […]

  2. путин пишет:

    Очень полезный блог, автор всегда (почти) описывает актальные темы. Спасибо.

  3. Антон пишет:

    Мне понравилось.

  4. Кондрат пишет:

    Увлекательно. Добавлю в закладки. А сколько времени ушло на написание статьи?

  5. Cros пишет:

    Статья хорошая, но шлак один есть:
    не все “основные” сообщения WM_USER в той таблице :-\

  6. dimid пишет:

    А у меня вопрос как вы узнаете код и описание команды и т.д.
    Вопрос в том каким образом узнать список команд которыми можно пользоватся с помощью сообщений для любого другого приложения???
    это очень важно! зарание благодарен

  7. Иван Ширко пишет:

    >>dimid

    для winamp’a команды брал из мануала, но для любого другого приложения можно подбирать команды простым перебором. Когда-то давно писал прогу для управления горячими клавишами любым приложением, там просто перебор использовался

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.