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 Buttonklick in fremder Anwendung (https://www.delphipraxis.net/92173-buttonklick-fremder-anwendung.html)

Fritzmaier 15. Mai 2007 17:59


Buttonklick in fremder Anwendung
 
möchte eine .Net-Anwendung dahingehend fernsteuern, daß ich 2 Edit-Felder ausfüllen lasse, dann den OK-Button anklicken lasse und diese Anwendung startet dann.

dies funktioniert auch, allerdings nur, wenn das Formular meines Delphi-Programms den Button der .Net-Anwendung nicht überdeckt.
Die Edits werden immer ausgefüllt, aber der Button wird nur geklickt, wenn er sichtbar ist.

Würde gern die .Net-Anw. mit meinem Formular komplett überdecken, das sich nach Erledigung seiner Aufgabe schließt und die gestartete .Net-Anw. sichtbar wird.

Danke für Tipps Fritz

Christian Seehase 15. Mai 2007 18:26

Re: Buttonklick in fremder Anwendung
 
Moin Fritz,

wie sprichst Du denn die Anwendung an?

Fritzmaier 15. Mai 2007 18:33

Re: Buttonklick in fremder Anwendung
 
mit Code, generiert von Winspy:
Code:
function FindWindowEx2(hParent: HWND; ChildClassName: string; ChildNr: Word): HWND;
var
  i: Word;
  hChild: HWND;

begin
  hChild := 0;
  Result := 0;
  ChildNr := ChildNr - 1;
  for i := 0 to ChildNr do
  begin
    hChild := FindWindowEx(hParent, hChild, PChar(ChildClassName), nil);
    if hChild = 0 then
      Exit;
    Result := hChild;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  wnd: HWND;
begin
  wnd := FindWindow('WindowsForms10.Window.8.app3','Anwendung');
  wnd := FindWindowEx2(wnd,'WindowsForms10.BUTTON.app3', 2);
  if wnd <> 0 then    SendMessage(wnd, BM_Click, 0, 0);
  end;
(den Code für die 2 Edits habe ich weggelassen)

Christian Seehase 15. Mai 2007 18:39

Re: Buttonklick in fremder Anwendung
 
Moin Fritz,

und hast Du mal nachgesehen, welchen Wert wnd hier

Delphi-Quellcode:
if wnd <> 0 then
hat?

Fritzmaier 15. Mai 2007 18:51

Re: Buttonklick in fremder Anwendung
 
der Wert ist <>0.

Der Button wird auch gefunden,wenn mein Delphi-Form ganz über dem Form der .Net-Anw. liegt. Aber der Buttonklick wird nicht ausgelöst, wenn der Button verdeckt ist.


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