Skocz do zawartości

Kontroluj Winampa z GM


Rekomendowane odpowiedzi

  • Administratorzy

Bardzo lubię słuchac sobie muzyki w czasie tworzenia gier, ale niestety gdy testuję moją grę - winamp zakłuca muzykę lecącą w grze. Aby temu zaradzić, przeszukałem zasoby sieci i napisałem prosty Dll który zatrzymuje / uruchamia winampa.

 

Sposób działania jest prosty: Najpierw dll znajduje winampa, a potem każe mu się Zapauzować. Na koniec gry robi to samo - czyli muzyka leci spowrotem.

 

Jak to działa można sprawdzić tutaj: https://gmclan.org/up23_3_winamp.html.

 

Mam nadzieję, że się wam przyda (bo mi bardzo).

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

gdyby ktoś chciał ulepszyć - tutaj daję kod

(deklaracja uses zawiera chyba kilka zbędnych wyrażeń, ale nie chciało mi się sprawdzać które są zbędne).

library Project1;

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Buttons, ExtCtrls;

{$R *.res}

var hwnd_winamp : THandle;

function SzukajWinampa : boolean;
begin
  hwnd_winamp := FindWindow('Winamp v1.x',nil);
  if hwnd_winamp = 0 then begin
      result := false;
  end   else
      result := true;
end;

function Pauza : integer;
begin
 Result := SendMessage(hwnd_winamp, WM_COMMAND,40046,0);
end;

exports SzukajWinampa, Pauza;

begin
end.

Odnośnik do komentarza
Udostępnij na innych stronach

A czasem nie powinno być:

...

function SzukajWinampa : boolean;
begin
 hwnd_winamp := FindWindow('Winamp v5.x',nil);
 if hwnd_winamp = 0 then begin
     result := false;
 end   else
     result := true;
end;

...

Nie jestem pewien, ale chyba powinno szukać okna Winampa 5, bo raczej on jest używany teraz.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...