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/)
-   -   Delphi Inhalt einer MessageBox über Caption auslesen (https://www.delphipraxis.net/91471-inhalt-einer-messagebox-ueber-caption-auslesen.html)

CalganX 5. Mai 2007 12:23


Inhalt einer MessageBox über Caption auslesen
 
Kennt man den Titel einer MessageBox eines fremden Programms, so kann man mit diesem Code von Luckie den Inhalt der Box auslesen:
Delphi-Quellcode:
function GetMessageBoxTextByCaption(const Caption: String): String;
const
  ID_STATIC = $0000FFFF;
var
  hMsgBox: THandle;
  len: Integer;
  Buffer: PChar;
begin
  hMsgBox := FindWindow(nil, PChar(Caption));
  if hMsgBox <> 0 then
  begin
    len := SendMessage(GetDlgItem(hMsgBox, ID_STATIC), WM_GETTEXTLENGTH, 0, 0);
    if len > 0 then
    begin
      GetMem(Buffer, len + 1);
      try
        GetDlgItemText(hMsgBox, ID_STATIC, Buffer, len + 1);
        SetString(Result, Buffer, len + 1);
      finally
        FreeMem(Buffer);
      end;
    end;
  end;
end;


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