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-Quellcode:
Der Windows Media Player spielt in Webbrowser in Hintergrund
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 html Code in Webbrowser ist so geschrieben:
Code:
Wie kann man die Windows (Klassennamen) von WMP wenn er so versteckt finden?
<body>
[img]test.avi[/img]</p> </body> </html> Gruß ------------- |
Re: FindWindow() von WMP der in Hintergrund spielt !!!
Zitat:
entweder du downloadest x-spy (ein prog mit dem du von Programmen das Handle rausbekommst) oder du benutzt eben diese function^^
Delphi-Quellcode:
dann musste nur noch hinschreiben (auf deinen code bezogen)
function GetWMPHandle : hwnd;
287 begin 288 result := FindWindow('WMPlayerApp', nil); 289 result := FindWindowEx(result, 0, 'WMPAppHost', 'WMPAppHost'); 290 if result = 0 then result := Findwindow(nil,'Windows Media Player'); 291 end;
Delphi-Quellcode:
ungetestet aba sollte gehn... wie gesagt mit x-spy kriegste eine besseren handle und sparst di diese ganze funktion^^
h:=GetWMPHandle;
EDIT: ups^^ das mit dem webrowsern hab ich überlesen... aba da müsstest du dann erst deinen webbrowser ansprechen und dann dein WMP glaub ich mal |
Re: FindWindow() von WMP der in Hintergrund spielt !!!
Hallo,
mir ist lieber einen Code. Ich habe die Funktion verwendet, bleibt leider der versteckte Windows Media Player immer unendeckt! Gruß ____________ |
Re: FindWindow() von WMP der in Hintergrund spielt !!!
Hast Du Dir schon einmal Gedanken darüber gemacht, dass der verwendete MediaPlayer in diesem Fall ein Browser-Plugin sein könnte?
|
Re: FindWindow() von WMP der in Hintergrund spielt !!!
Zitat:
Und wenn es ein Browser Plug-In wäre, heißt das vergeblich ? Gruß |
Re: FindWindow() von WMP der in Hintergrund spielt !!!
Sorry, da muss ich passen, nicht meine Materie.
|
Re: FindWindow() von WMP der in Hintergrund spielt !!!
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
ich habe diese Information mit Hilfe von WinSpay : [Edit]Siehe Anhang[/Edit] So habe ich so versucht :
Delphi-Quellcode:
Woran liegt das Problem?!const {Windows Media Player API} ... WMP_MEDIA_PLAY_PAUSE = $E0000; procedure TForm1.Button1Click(Sender: TObject); var myHandle:HWND; begin //myHandle := 331038; //myHandle := FindWindow(nil, 'ActiveMovieWindow'); // über seinen Titel finden //myHandle := FindWindow('VideoRenderer', 'ActiveMovieWindow'); // über seinen Klassennamen finden //myHandle := FindWindow('WMPlayerApp', 'Windows Media Player'); // über seinen Classname finden if myHandle <> 0 then Sendmessage(myHandle, WM_APPCOMMAND, 0, WMP_MEDIA_STOP) else ShowMessage('Nicht gefunden'); end; end. Gruß ------------------- _________________________ [edit=SirThornberry] Mfg, SirThornberry[/edit] |
Re: FindWindow() von WMP der in Hintergrund spielt !!!
Das Handle per WinSpector or X-Spy oder whatever raussuchen bringt dir nix da es sich jedesmal eh ändert.
Was du brauchst ist Titel oder noch besser den Namen der Fenster Klasse des Players (oder beides). Damit kannst du das Fenster finden und eventuell steuern. Die Frage ist jedoch welches Fenster das richtige ist (kann auch das parent fenster von dem was du ausgewählt hast sein) und ob es sich mit den selben Nachrichten wie das WMP Fenster Steuern läßt. Am besten mal Onkel Google befragen... |
Re: FindWindow() von WMP der in Hintergrund spielt !!!
Hi,
der Windows Media Player spielt in Webseite in Hintergrund (Vielleicht als Plug-In). HTML-Code :
Delphi-Quellcode:
Wie kann ich den Titel oder den Classname rausfinden?
<html>
<head> <title>Test</title> </head> <body> [img]test.avi[/img] </body> </html> Der Onkel Google hilft aber nicht viel :mrgreen:. Hier ist alles, alles was er mir geschenckt hat :
Delphi-Quellcode:
function TVideoWindow.GetVideoHandle: THandle;
begin if FVideoWindow <> nil then result := FindWindowEx(Parent.Handle,0,Pchar('VideoRenderer'), Pchar(name)) else Result := Canvas.Handle; end; Was muss ich tun, um einen Code zu generieren? es ist nicht möglich mit der Option "Unter der Maus" ! wie kann ich das Button Code klicken, ohne die Maus :mrgreen: Hier ist das Video(ein Video in HTML-Seite) zum Testen : Demo (Video) versteckt Gruß ___________________________ |
Re: FindWindow() von WMP der in Hintergrund spielt !!!
Winspy hat eine integrierte Funktion "Code generieren" - hast du die mal ausprobiert? Funktioniert das?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz