Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Inhalt einer MessageBox über Caption auslesen

  Alt 5. Mai 2007, 12:23
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;
  Mit Zitat antworten Zitat