AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Herausfinden ob ein Fenster einen Taskbareintrag hat
Thema durchsuchen
Ansicht
Themen-Optionen

Herausfinden ob ein Fenster einen Taskbareintrag hat

Ein Thema von Hyperspacer · begonnen am 14. Apr 2007 · letzter Beitrag vom 14. Apr 2007
Antwort Antwort
Hyperspacer

Registriert seit: 23. Apr 2006
53 Beiträge
 
Delphi 7 Personal
 
#1

Herausfinden ob ein Fenster einen Taskbareintrag hat

  Alt 14. Apr 2007, 20:02
Hallo alle zusammen!
Ich wüsste gern, ob es eine Möglichkeit gibt, mit dem Handle eines fremden Fensters herauszufinden, ob dieses Fenster einen sichtbaren Taskbareintrag hat.

Viele Grüße
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

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

Re: Herausfinden ob ein Fenster einen Taskbareintrag hat

  Alt 14. Apr 2007, 21:21
Hi,

das könnte man so machen
Delphi-Quellcode:
function EnumWin(hWnd: THandle; FindHwnd: PCardinal): Boolean; stdcall;
begin
  Result := True;
  if (FindHwnd^ = hWnd) and IsWindowVisible(hWnd) and not
    boolean(GetWindowLong(hWnd, GWL_HWNDPARENT)) then
      result := false;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  FindWin: HWnd;
begin
  FindWin:= ...;
  if not EnumWindows(@EnumWin, integer(@FindWin)) then
    ShowMessage('sichtbarer Taskbareintrag');
end;
ist leider auch nicht zu 100% sicher ob es sich wirklich um einen sichtbaren Taskbareintrag handelt.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Herausfinden ob ein Fenster einen Taskbareintrag hat

  Alt 14. Apr 2007, 21:38
ist klar das es nicht sicher ist weil hier gar nicht der windowstyle geprüft wird (toolwindow etc.)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Billi Berserker
(Gast)

n/a Beiträge
 
#4

Re: Herausfinden ob ein Fenster einen Taskbareintrag hat

  Alt 14. Apr 2007, 22:08
Delphi-Quellcode:
  function EnumWindowsProc(Wnd: HWND; LParam: LPARAM): BOOL; stdcall;
  begin
    if (GetWindowLong(Wnd, GWL_STYLE) and WS_SYSMENU <> 0) and
       ((IsWindowVisible(Wnd) or IsIconic(wnd)) and
       ((GetWindowLong(Wnd, GWL_HWNDPARENT) = 0) or
       (GetWindowLong(Wnd, GWL_HWNDPARENT) = GetDesktopWindow)) and
       (GetWindowLong(Wnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW = 0)) then
    begin
      // fenster hat Taskbar Eintrag...
    end;
    result := True;
  end;
Das ganze sollte alle möglichkeiten erschlagen
  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 06:00 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