Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Textinhalt eines Objekts einer anderen Anwendung (https://www.delphipraxis.net/112997-textinhalt-eines-objekts-einer-anderen-anwendung.html)

napsterxx 2. Mai 2008 21:15

Re: Textinhalt eines Objekts einer anderen Anwendung
 
Nein es ist eine Form also ein normales Fenster

toms 3. Mai 2008 07:51

Re: Textinhalt eines Objekts einer anderen Anwendung
 
Sende zweimal eine BM_CLICK Nachricht an den Button. Dann wird er geklickt.
(soeben erfolgreich getestet)

napsterxx 3. Mai 2008 12:21

Re: Textinhalt eines Objekts einer anderen Anwendung
 
Dann bannt er aber Static und nicht den eingegebenen User.

Delphi-Quellcode:
var
  wndMain, wndChild: HWND;
  S: String;
  I: INteger;
begin
  wndMain := FindGarenaMainWindow;
  if wndMain <> 0 then
  begin
    wndChild := GetDlgItem(wndMain, 59648);
    wndChild := GetDlgItem(wndChild, 59649);
    wndChild := GetDlgItem(wndChild, 1003);
    if wndMain <> 0 then
    begin
      PostMessage(wndChild, BM_CLICK, 0, 0);
    end;
  end;
  wndMain := FindWindow('#32770','Search a user');
  if wndMain <> 0 then
  begin
    wndChild := GetDlgItem(wndMain, 1153);
    if wndMain <> 0 then
    begin
      s := JvListView2.Selected.Caption;
      for i := 1 to Length(s) do
        SendMessage(wndChild, WM_CHAR, Word(s[i]), 0);
    end;
  end;
  wndMain := FindWindow('#32770','Search a user');
  if wndMain <> 0 then
  begin
    wndChild := GetDlgItem(wndMain, 1155);
    if wndMain <> 0 then
    begin
      PostMessage(wndChild, BM_CLICK, 0, 0);
    end;
  end;
    wndMain := FindWindow('#32770','');
  if wndMain <> 0 then
  begin
    wndChild := GetDlgItem(wndMain, 1560);
    if wndMain <> 0 then
    begin
      PostMessage(wndChild, BM_CLICK, 0, 0);
      PostMessage(wndChild, BM_CLICK, 0, 0);
    end
end;
//EDIT
Ich muss das handle auf diese Anzeigeform bekommen aber ich schaffe es nciht

toms 3. Mai 2008 14:30

Re: Textinhalt eines Objekts einer anderen Anwendung
 
Meinst du die Form mit der Person drauf?

Delphi-Quellcode:
var
  wndMain, wndChild: HWND;
begin
  wndMain := FindGarenaMainWindow;
  if wndMain <> 0 then
  begin
    wndChild := FindWindowEx2(wndMain,'#32770', 2);
    if wndMain <> 0 then
    begin
      ShowMessage('Window found. Handle: ' + IntToStr(wndChild));
      FlashControl(wndChild); // internal function
    end;
  end;
end;
FindWindowEx2:

Delphi-Quellcode:
function FindWindowEx2(hParent: HWND; ChildClassName: string; ChildNr: Word): HWND;
var
  i: Word;
  hChild: HWND;
begin
  Result := 0;
  hChild := 0;
  Dec(ChildNr);
  for i := 0 to ChildNr do
  begin
    hChild := FindWindowEx(hParent, hChild, PChar(ChildClassName), nil);
    if hChild = 0 then
      Break;
    Result := hChild;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr.
Seite 3 von 3     123   

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