Einzelnen Beitrag anzeigen

nezumi7

Registriert seit: 11. Apr 2011
71 Beiträge
 
#4

AW: Aktuelle Position aus externem Videoplayer auslesen

  Alt 28. Aug 2014, 12:31
Hallo,

ich krame das Thema nochmal vor.

Im MediaPlayer steht unten rechts die aktuelle Position des Videos (in mm:ss). Die will ich haben. Wenn ich Winspy (oder Eda) nehme, komme ich nicht nur an das Handle, es wird dort dann auch die Position als Fenstertitel angezeigt. Vgl. Bild im Anhang ("00:06"). Also muss es ja möglich sein, die auszulesen.

Habe es so versucht:
Delphi-Quellcode:
function FindWindowEx2(hParent: HWND; ChildClassName: string; ChildNr: Word): HWND;
var
  i: Word;
  hChild: HWND;
begin
  hChild := 0;
  Result := 0;
  ChildNr := ChildNr - 1;
  for i := 0 to ChildNr do
  begin
    hChild := FindWindowEx(hParent, hChild, PChar(ChildClassName), nil);
    if hChild = 0 then
      Exit;
    Result := hChild;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
wnd: hwnd;
lBuffer: String;
lSize : Integer;
begin
wnd := FindWindow('MediaPlayerClassicW', nil);
wnd := FindWindowEx2(wnd,'Static', 2);
// wnd := 00040292;

if wnd <> 0 then begin
form1.Color := clgreen;
SetLength(lBuffer, 255);
lSize := SendMessage(wnd, WM_GETTEXT, Length(lBuffer), Integer(@lBuffer[1]));
Label1.Caption := copy(lBuffer, 1, lSize);
end;
end;

Wenn ich es bei "wnd := FindWindowEx2(wnd,'Static', 2)" belasse, wird kein handle gefunden (Formular wird nicht grün). Wenn ich stattdessen "wnd := 00040292" nehme, wird zwar ein handle gefunden, in Label 1 aber nichts angezeigt.

Was mache ich falsch?

LG, Stephan.
Angehängte Grafiken
Dateityp: jpg EDA Pic.jpg (32,4 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat