Entwickler-Ecke

Windows API - FindWindow() von WMP der in Hintergrund spielt !!!


Taktaky - Fr 21.09.07 18:15
Titel: FindWindow() von WMP der in Hintergrund spielt !!!
Hallo,

wie kann man den Klassennamen eine versteckte Anwendung finden?

Ich habe versucht den Classname von Windows Media Player, der beim Spielen ausgeblenden st, zu finden, leider Ohne Erfolg.

mit dem Code kann ich den Klassennamen von WMP auslesen aber nur wenn er nicht in Hintergrund spielt:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
procedure TForm1.Button6Click(Sender: TObject);
var h: HWND;
   text,classname:String;
begin


h:=FindWindow(nil,'Windows Media Player');

//h:=GetForegroundWindow;

SetLength(text,SendMessage(h,WM_GETTEXTLENGTH,0,0)+1);
SendMessage(h,WM_GETTEXT,length(text),Integer(@text[1]));

SetLength(ClassName, 255);
      //get the class name and reset the
      //memory area to the size of the name
      SetLength(ClassName,
              GetClassName(h,
                           PChar(className),
                           Length(className)));


edit1.Text:=classname;
edit2.Text:=text;

end;


Der Windows Media Player spielt in Webbrowser in Hintergrund

Der html Code in Webbrowser ist so geschrieben:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
<body>

<p>
<img border="0" dynsrc="test.avi" start="fileopen"></p>

</body>

</html>


Wie kann man die Windows (Klassennamen) von WMP wenn er so versteckt finden?

Hier ist ein Demo (ein Video in HTML-Seite) in diesem Art (besser die Seite mit Internet Explorer öffnen) :
Demo (Video) versteckt [http://members.lycos.co.uk/forforums/test/wmp/test.htm]


Gruß





-------------