AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

fenster verstecken..

Ein Thema von napstar · begonnen am 22. Mär 2007 · letzter Beitrag vom 26. Mär 2007
Antwort Antwort
Benutzerbild von napstar
napstar

Registriert seit: 22. Mär 2007
Ort: München
133 Beiträge
 
Delphi 2007 Architect
 
#1

fenster verstecken..

  Alt 22. Mär 2007, 14:32
hi.. ich habe ein problem...
ihr kennt doch sicher den MPlayer.. ^^ wenn nicht schaut her -> hier
ich öffne eine film datei mit Mplayer...
ShellExecute(Handle, 'open', 'dateien\mplayer\mplayer.exe', 'C:\film.avi', nil, SW_SHOW); nun öffnen sich 2 fenster...
eins möchte ich aber verstecken
wie kann ich das machen???
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#2

Re: fenster verstecken..

  Alt 22. Mär 2007, 18:16
Hallo und herzlich willkommen in der DP

Wenn der MPlayer dein Standardplayer ist, würde ich vorschlagen das so zu tun, damit müsste sich nur ein Fenster öffnen und daher brauchst du kein Fenster verstecken, es sei denn, du willst 2 Fenster:
ShellExecute(Handle, 'OPEN', PChar('C:\film.avi'), nil, nil, SW_NORMAL); Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von napstar
napstar

Registriert seit: 22. Mär 2007
Ort: München
133 Beiträge
 
Delphi 2007 Architect
 
#3

Re: fenster verstecken..

  Alt 22. Mär 2007, 18:53
bei mplayer öffnen sich immer 2 fenster ...
und auserdem will ich den mplayer ein teil meines programmes machen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: fenster verstecken..

  Alt 22. Mär 2007, 19:39
die beste Variante ist CreateProcess zu verwenden und anhand des zurück gelieferten Prozesses alle Fenster des Prozesses auflisten und das gewünschte verstecken.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#5

Re: fenster verstecken..

  Alt 22. Mär 2007, 19:47
Zitat von napstar:
und auserdem will ich den mplayer ein teil meines programmes machen
Warum nutzt du dann nicht direkt die Komponente TMediaPlayer ?

Gruß
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#6

Re: fenster verstecken..

  Alt 22. Mär 2007, 20:13
Täusche ich mich oder ist MPlayer und MediaPlayer ein Unterschied (imho ja)
  Mit Zitat antworten Zitat
Benutzerbild von napstar
napstar

Registriert seit: 22. Mär 2007
Ort: München
133 Beiträge
 
Delphi 2007 Architect
 
#7

Re: fenster verstecken..

  Alt 22. Mär 2007, 20:35
in meinem 1. post ist ein link zu wiki ^^ schau mal da...

warum ich den TMediaPlayer nicht nutze??
ganz einfach... zu wenig codecs MPlayer topt alles und ist winzig

und createprocess habe ich noch nie benutzt.. bin erst neu in der scene ^^.. seit anfang der woche..
mal schauen ob ichs hinkriege.. wenn nicht melde ich mich
  Mit Zitat antworten Zitat
Benutzerbild von napstar
napstar

Registriert seit: 22. Mär 2007
Ort: München
133 Beiträge
 
Delphi 2007 Architect
 
#8

Re: fenster verstecken..

  Alt 22. Mär 2007, 20:54
hmmmm ich versteh garnix von createprocess..
wie soll ich denn vorgehen???
kann mir einer helfen? sagen wir fenstername ist in einer variable und die variable heißt dateipfad
ich bin am verzweifeln ^^
  Mit Zitat antworten Zitat
Benutzerbild von napstar
napstar

Registriert seit: 22. Mär 2007
Ort: München
133 Beiträge
 
Delphi 2007 Architect
 
#9

Re: fenster verstecken..

  Alt 25. Mär 2007, 16:09
kann keiner helfen????
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: fenster verstecken..

  Alt 26. Mär 2007, 00:39
Hallo,

die Funktion RunProcess() habe ich aus der CodeLib und dann noch ein bisschen abgeändert.

Delphi-Quellcode:
function EnumWin(hWnd: THandle; ProcID: PCardinal): Boolean; stdcall;
var
  WinProcId: cardinal;
  Text: AnsiString;
begin
  Result := True;
  if IsWindowVisible(hWnd) then
  begin
    GetWindowThreadProcessID(hWnd, WinProcId);
    if ProcID^ = WinProcId then
    begin
      SetLength(Text, SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0));
      SendMessage(hWnd, WM_GETTEXT, Length(Text)+ 1, integer(Text));
      if Text = 'Unbenannt - Editorthen//Beispiel Text des gesuchten Fensters
        ShowWindow(hWnd, SW_MAXIMIZE);//bei dir dann SW_HIDE
    end;
  end;
end;

function RunProcess(FileName: string; ShowCmd: DWORD; wait: Boolean; ProcID: PCardinal): Longword;
var
  StartupInfo: TStartupInfo;
  ProcessInfo: TProcessInformation;
begin
  FillChar(StartupInfo, SizeOf(StartupInfo), #0);
  StartupInfo.cb := SizeOf(StartupInfo);
  StartupInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
  StartupInfo.wShowWindow := ShowCmd;
  if not CreateProcess(nil,
    @Filename[1],
    nil,
    nil,
    False,
    CREATE_NEW_CONSOLE or
    NORMAL_PRIORITY_CLASS,
    nil,
    nil,
    StartupInfo,
    ProcessInfo)
    then
      Result := WAIT_FAILED
  else
  begin
    if wait = FALSE then
    begin
      if ProcID <> nil then ProcID^ := ProcessInfo.dwProcessId;
      exit;
    end;
    if ProcID <> nil then
      ProcID^ := ProcessInfo.dwProcessId;
    WaitForInputIdle(ProcessInfo.hProcess, INFINITE);
    //WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
    GetExitCodeProcess(ProcessInfo.hProcess, Result);
  end;
  if ProcessInfo.hProcess <> 0 then
    CloseHandle(ProcessInfo.hProcess);
  if ProcessInfo.hThread <> 0 then
    CloseHandle(ProcessInfo.hThread);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  ProcID: Cardinal;
begin
  RunProcess('notepad', SW_SHOW, true,@ProcID);//Pfad zum Programm hier eintragen
  EnumWindows(@EnumWin, integer(@ProcID));
end;
Den Code musst du noch anpassen, da ich deinen Player nicht habe. Vom Prinzip her könnte man es so machen.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 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