Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Erkennen ob externe Anwendung minimiert ist (https://www.delphipraxis.net/174400-erkennen-ob-externe-anwendung-minimiert-ist.html)

ReVenGer 20. Apr 2013 13:34

Erkennen ob externe Anwendung minimiert ist
 
Hi zusammen,
welche Möglichkeit gibt es um zu erkennen ob eine Externe Anwendung minimiert bzw. maximiert ist?
Im Moment suche ich mit:
Code:
FindWindow(PChar('Anwendung'), nil);
das Fenster.

IsIconic(); hätte ich mir jetzt als Möglichkeit überlegt, allerdings weiß ich nicht wie ich das Handle übergeben soll.

Bzw. ob das überhaupt geht.


Viele Grüße

Bernhard Geyer 20. Apr 2013 13:39

AW: Erkennen ob externe Anwendung minimiert ist
 
Zitat:

Zitat von ReVenGer (Beitrag 1212169)
IsIconic(); hätte ich mir jetzt als Möglichkeit überlegt, allerdings weiß ich nicht wie ich das Handle übergeben soll.

Wieso das? Gibt doch nur einen Parameter ?

ReVenGer 20. Apr 2013 13:45

AW: Erkennen ob externe Anwendung minimiert ist
 
Code:
if IsIconic(PrgHandle) then begin
      ShowWindow(PrgHandle, SW_Restore);
      BringWindowToTop(PrgHandle);
   end
   else
      ShowWindow(PrgHandle, SW_MINIMIZE);
end
PrgHandle wäre dann Boolean? Und ich muss doch den Fensternamen der externen Anwendung auch übergeben?

Bernhard Geyer 20. Apr 2013 13:55

AW: Erkennen ob externe Anwendung minimiert ist
 
Lesen?

Parameters
hWnd [in]
Type: HWND
A handle to the window to be tested.

ReVenGer 20. Apr 2013 14:02

AW: Erkennen ob externe Anwendung minimiert ist
 
Des lesens bin ich mächtig..
Aber wenn einem sich etwas nicht erschliest, dann sollte man fragen.

Code:
var Hnd_gesucht: HWND;
indicator : integer;

begin

Indicator=0;
 Hnd_gesucht := Hnd;
    indicator:=FindWindow(PChar('Anwendung'), nil);
    if IsIconic(hnd_gesucht)then begin
...
So wäre das nach meinem Verständnis.
Funktioniert aber nicht.

Bernhard Geyer 20. Apr 2013 14:07

AW: Erkennen ob externe Anwendung minimiert ist
 
Zitat:

Zitat von ReVenGer (Beitrag 1212174)
Funktioniert aber nicht.

Also meine Autowerkstatt freut sich auch immer wenn ich vorbei kommen und ihnen sage das am Auto was nicht funktionert und sie es beheben sollen.
Schaffen sie auch immer gleich ohne Nachfrage:

WAS funktioniert nicht?
WELCHE FEHLERMELDUNG kommt?

ReVenGer 20. Apr 2013 14:17

AW: Erkennen ob externe Anwendung minimiert ist
 
Touche!

Also, er kann das Handle nicht initialisieren.

'Hnd_gesucht' might not have been initialized.
Und ich weiß nicht wie ich das initialisieren muss.

DeddyH 20. Apr 2013 14:24

AW: Erkennen ob externe Anwendung minimiert ist
 
Hnd, Hnd_gesucht, indicator... wie viele Variablen willst Du noch deklarieren für ein einziges Fensterhandle?
Delphi-Quellcode:
var
  Wnd: HWnd;
begin
  Wnd := FindWindow('Anwendung', nil);
  if Wnd <> 0 then
    begin
      if IsIconic(Wnd) then
        begin
          ShowWindow(Wnd, SW_RESTORE);
          BringWindowToTop(Wnd);
        end
      else
        ShowWindow(Wnd, SW_MINIMIZE);
    end;
end;

ReVenGer 20. Apr 2013 14:41

AW: Erkennen ob externe Anwendung minimiert ist
 
ahh, jetzt hab ich das verstanden.

ich hatte mit
Code:
if (Indicator <> 0) then begin
immer geschaut ob das fenster existiert oder nicht.

Wusste nicht das ich das Handle dafür auch nutzen kann.
Deshalb auch die vielen Variablen.

Vielen Dank!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 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