Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Windows API / MS.NET Framework API (https://www.delphipraxis.net/20-library-windows-api-ms-net-framework-api/)
-   -   Schaltfläche in einem fremden Fenster anklicken (https://www.delphipraxis.net/89620-schaltflaeche-einem-fremden-fenster-anklicken.html)

Luckie 3. Apr 2007 10:19


Schaltfläche in einem fremden Fenster anklicken
 
Oft gefragt, hier die Antwort:
Delphi-Quellcode:
procedure ClickBtnByID(hParent: THandle; BtnID: DWORD);
var
  hBtn             : THandle;
begin
  if hParent <> 0 then
  begin
    SetActiveWindow(hParent);
    hBtn := GetDlgItem(hParent, BtnID);
    if hBtn <> 0 then
    begin
      SendMessage(hBtn, BM_CLICK, 0, 0);
    end;
  end;
end;
Aufruf zum Beispiel so:
Delphi-Quellcode:
var
  hMsgBox          : THandle;

begin
  hMsgBox := FindWindow(nil, 'The lazy dog');
  if hMsgBox <> 0 then
  begin
    ClickBtnByID(hMsgBox, MSG_NO);
  end
  else
    Writeln('Fenster nicht gefunden');
  Readln;
end.
Und gleich noch ein paar ID-Konstanten für die MessageBox Schaltflächen:
Delphi-Quellcode:
const
  MSG_OK           = $00000001;
  MSG_CANCEL       = $00000002; // = MSG_OK if OK button only
  MSG_YES          = $00000006;
  MSG_NO           = $00000007;


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