Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: minimiertes Fenster einer Fremdanwendung aufblenden

  Alt 22. Apr 2009, 18:38
Zitat von MisterCP:
mußt nur das Handle deiner fremden Exe bestimmen und dann bekommst du den WinState mit

WinState := GetWindowState(AISErr_hWnd);

(Hoffentlich hast du nur ein Handle )
Dieser weg wird nicht klappen. Zunächst will ich den Firefox vorholen und dann aktualisieren. Das Vorholen an sich klappt ja. Ich habe nur das Problem, dass er mit ein vor dem minimieren maximiertes Fenster nach dem vorholen nicht mehr maximiert anzeigt. Das sieht überhaupt nicht schön aus.
Außerdem soll das Programm auf unterschiedlichen Rechnern laufen. Da muss ich mir die exe-Datei ja jedes Mal erst suchen und Handles gibts beim Firefox mit Sicherheit mehrere.

Bislang löse ich das so:
Delphi-Quellcode:
Procedure BrowserRefresh;
Var
   Wnd         : HWND;
Begin
   Wnd:=FindWindow(nil,'Datenbank - Mozilla Firefox');
   If Wnd<>0 Then
   Begin
      SetForeGroundWindow(Wnd);
      keybd_event(VK_F5,0,0,0);
      keybd_event(VK_F5,0,KEYEVENTF_KEYUP,0);
   End;
End;
So habe ich ja auch das passende Handle. Nur ein ShowWindow(Wnd, SW_RESTORE); führt eben zu dem genannten Effekt.

Gruß und Dank, Alex

P.S. Ich habe TurboDelphi 2006, wobei er mit Version 10.0.2288.42451 anzeigt. Entweder gibt es dort die Function GetWindowState nicht implementiert oder ich habe die Unit nicht eingebunden. Die Hilfe kennt die Function jedenfalls nicht.
Alex Winzer
  Mit Zitat antworten Zitat