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/)
-   -   Delphi Alle sichtbaren Fenster verstecken und anzeigen wie? (https://www.delphipraxis.net/43783-alle-sichtbaren-fenster-verstecken-und-anzeigen-wie.html)

St34lthE4gle 8. Apr 2005 15:49


Alle sichtbaren Fenster verstecken und anzeigen wie?
 
Ich habe folgendes Problem! ICh möchte das mein Programm alle sichtbaren Fenster versteckt! und auf Befehl wieder sichtbar macht! Komme aber beim wieder sichtbar machen nicht mehr weiter!
habs ma soweit!:

Delphi-Quellcode:
 while h > 0 do
  begin
  if isWindowvisible(h) = true then
  showwindow(h, SW_HIDE);
  h := getnextwindow(h, GW_HWNDNEXT);
  end;
Wieder sichtbar machen hab ich mir so vorgestellt:

Delphi-Quellcode:
 while h > 0 do
  begin
  if iswindowvisible(h) = false then
  showwindow(h, SW_NORMAL);
  h := getnextwindow(h, GW_HWNDNEXT);
  end;
Aber mein Programm hat mir dann logischer weise alle Fenster die nicht sichtbar sind sichtbar gemacht, auch die die eigentlich nicht sichtbar sein sollten!! Ich hoffe ihr könnt mir weiter helfen!

MFG
St34lth!

alcaeus 8. Apr 2005 15:53

Re: Alle sichtbaren Fenster verstecken und anzeigen wie?
 
Mach dir ein Array, und sobald du alle sichtbaren Fenster unsichtbar machst, speicherst du alle deren Handles ins Array. Anschliessend machst du nur die Fenster im Array wieder sichtbar.

Greetz
alcaeus

Nogge 8. Apr 2005 23:39

Re: Alle sichtbaren Fenster verstecken und anzeigen wie?
 
Ich denke mal, dass alcaeus sowas in der Art meinte:
Delphi-Quellcode:
var // global
  h_arr : array of HWND;
  lng  : Integer;

[...]

procedure TForm1.Button1Click(Sender: TObject); // hide
var h:HWND;
begin
  [...]
  lng:=0;
  while h > 0 do
  begin
    if IsWindowVisible(h) then
    begin
      inc(lng);
      SetLength(h_arr,lng);
      h_arr[lng-1]:=h;
      ShowWindow(h,SW_HIDE);
    end;
    h:=GetNextWindow(h,GW_HWNDNEXT);
  end;
end;

procedure TForm1.Button2Click(Sender: TObject); // show
var i:Cardinal;
begin
  if lng > 0 then
    for i:=0 to lng-1 do
      ShowWindow(h_arr[i],windows.SW_SHOW);
end;

St34lthE4gle 9. Apr 2005 12:40

Re: Alle sichtbaren Fenster verstecken und anzeigen wie?
 
hey danke, ich werd gleich ma ausprobiern!!! MFG St34lth


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