AGB  ·  Datenschutz  ·  Impressum  







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

FindWindowEx Logik

Ein Thema von toms · begonnen am 12. Nov 2004 · letzter Beitrag vom 13. Nov 2004
 
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

FindWindowEx Problem (2)

  Alt 13. Nov 2004, 07:33
Hi,

Habe 3 Codes und alle sollten das gleiche machen, nur tun sie das nicht!
Code1 funktioniert, aber Code2, Code3 nicht.

Was mache ich da falsch?


Code1: ShowMessage('Gefunden'); wird angezeigt.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  wndApp, wndControlBar, wnd: HWND;
begin
  wndApp := FindWindow('TAppBuilder', nil);
  wndControlBar := FindWindowEx(wndApp, 0, 'TControlBar', nil);

  // wndControlBar ist immer <> 0

  wnd := FindWindowEx(wndControlBar, 0, 'TDockToolBar', nil);
  wnd := FindWindowEx(wndControlBar, wnd, 'TDockToolBar', nil);
  wnd := FindWindowEx(wndControlBar, wnd, 'TDockToolBar', nil);
  wnd := FindWindowEx(wndControlBar, wnd, 'TDockToolBar', nil);
  wnd := FindWindowEx(wndControlBar, wnd, 'TDockToolBar', nil);
  wnd := FindWindowEx(wndControlBar, wnd, 'TDockToolBar', nil);
  
  // wnd ist immer <> 0
  
  if wnd <> 0 then
  begin
    ShowMessage('Gefunden'); // Klasse von wnd : TDockToolBar, Text von wnd : Standard
  end;
end;

Code2: ShowMessage('Gefunden'); wird nie angezeigt.

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  wndApp, wndControlBar, wnd: HWND;
begin
  wndApp := FindWindow('TAppBuilder', nil);
  wndControlBar := FindWindowEx(wndApp, 0, 'TControlBar', nil);

  wnd := FindWindowEx(wndControlBar, 0, 'TDockToolBar', 'Standard'); // wnd wird immer 0!
  if wnd <> 0 then
  begin
    ShowMessage('Gefunden'); // Class: TDockToolBar, Text: Standard
  end;
end;
Code3: ShowMessage('Gefunden'); wird nie angezeigt.

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
  wndApp, wndControlBar, wnd: HWND;
begin
  wndApp := FindWindow('TAppBuilder', nil);
  wndControlBar := FindWindowEx(wndApp, 0, 'TControlBar', nil);

  wnd := FindWindowEx(wndControlBar, 0, nil, 'Standard'); // wnd wird immer 0!

  if wnd <> 0 then
  begin
    ShowMessage('Gefunden'); // Class: TDockToolBar, Text: Standard
  end;
end;

FensterStruktur:

Code:
Klassen Name: "TAppBuilder" | Title: "" | Handle: 1966888 
  1573686: TControlBar
    2097588: TDockToolBar "Menu bar"
    655736: TDockPanel "Component Palette"
      721300: TComponentPaletteTabControl
        590250: TPanel
        590446: TPageScroller
          655758: TPalette "Palette"
    1769832: TDockToolBar "Custom"
    655980: TDockToolBar "Desktop"
      1245788: TDesktopComboBox "<None>"
        917904: Edit "<None>"
    1049424: TDockToolBar "Debug"
    852428: TDockToolBar "View"
    655802: TDockToolBar "Standard"
Thomas
  Mit Zitat antworten Zitat
 


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 05:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz