Autor Beitrag
CASS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 160

WIN XP
D7 Enterprise
BeitragVerfasst: Fr 24.02.06 08:41 
Hallo Leute,

ich hoffe das ich jetzt in der richtigen Sparte bin ...

Folgendes Problem:

Ich habe zwei Programme laufen (nicht von mir geschrieben) die beide Sound ausgeben. Das eine dauerhaft (Winamp) das andere nur ab und zu. Jetzt möchte ich gern ein Programm schreiben, dass folgendes macht:

Programm 1 -> gibt dauern sound aus
Programm 2 -> gibt nur ab und zu sound aus

MeinProgramm checkt wenn Programm 2 Sound ausgibt und Pausiert Programm 1. Nach dem Ende der Soundausgabe von Programm 2 startet MeinProgramm Programm 1 wieder.

Programm 1 zu starten und zu beenden dürfte kein Problem sein, da ich nur einen Key an das Fensterhandle schicken muss, aber wie kann ich merken wann Programm 2 einen Ton ausgibt???

Grüße Cass
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 24.02.06 08:58 
Direkt weiterhelfen kann ich nicht, aber du brauchst Winamp nicht zu beenden und neuzustarten. Das kann man so machen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
const   WINAMP_BUTTON1   : integer = 40044; // previous title
        WINAMP_BUTTON2   : integer = 40045; // play
        WINAMP_BUTTON3   : integer = 40046; // pause
        WINAMP_BUTTON4   : integer = 40047; // stop
        WINAMP_BUTTON5   : integer = 40048; // next title
        WINAMP_VOLUMEUP  : integer = 40058; // volume up
        WINAMP_VOLUMEDOWN: integer = 40059; // volume down
//[...]
procedure WinampPlay;
var hwndWinamp: THandle;
begin
    hwndWinamp:= FindWindow('Winamp v1.x',nil);
    if hwndWinamp<>0 then SendMessage(hwndWinamp,WM_COMMAND, WinAmp_Button2, 0);
end;

procedure WinampPause;
var hwndWinamp: THandle;
begin
    hwndWinamp:= FindWindow('Winamp v1.x',nil);
    if hwndWinamp<>0 then SendMessage(hwndWinamp,WM_COMMAND, WinAmp_Button3, 0);
end;

_________________
We are, we were and will not be.