Einzelnen Beitrag anzeigen

michback

Registriert seit: 23. Nov 2007
35 Beiträge
 
#5

Re: gelöst Text aus Fenster einen andren Anwendugn auslegen

  Alt 3. Jun 2009, 14:51
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  hMain : DWORD;
  hSub : DWORD;
  iLen : integer;
  pText : PChar;

begin
  hMain := FindWindow(NIL,'meineeiner');
  if hMain = 0 then begin
    ShowMessage('Meldung nicht gefunden'#13#10+
                 SysErrorMessage(GetLastError));
    Exit;
  end;
  hSub := FindWindowEx(hMain,0,'EDIT',nil);
  if hMain = 0 then begin
    ShowMessage('Inhalt nicht gefunden'#13#10+
                 SysErrorMessage(GetLastError));
    Exit;
  end;
  iLen := SendMessage(hSub,WM_GETTEXTLENGTH,0,0)+1;
  if iLen = 0 then begin
    ShowMessage('Kein Inhalt');
    Exit;
  end;
  pText := AllocMem(iLen);
  try
    if SendMessage(hSub,WM_GETTEXT,wParam(iLen),lParam(pText)) = 0 then begin
      ShowMessage('0 Zeichen kopiert');
    end else begin
      ShowMessage(pText);
    end;
  finally
    FreeMem(pText,iLen);
  end;
end;
Dies Funktioniert mit normnalen Programmen super. Leider habe ich ein Zeichen Problem. Das Fester was ich auslesen will heist:


'meineeiner'successfully saved"


Die Striche kann ich ja bei der Fensterbezeichnung nicht eingeben da streik delphi. Muss ich das über ASCII Codes eledigen. Weil so hat es bei mir nicht funktioniert.

hMain := FindWindow(NIL,chr(039)+'meineeiner'+chr(039)+' successfully saved'+chr(034));
  Mit Zitat antworten Zitat