我在网上找到的代码,我就不想编了。
其实也都很简单的。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
Memo1: TMemo;
Label1: TLabel;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Sign: string;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
var
Title: array[0..255] of Char;
QQText: Pchar;
Long: Integer;
hLastWin: THandle;
begin
try
Timer1.Enabled := False;
hLastWin := GetForegroundWindow;
Getwindowtext(hLastWin, Title, 255); //获取窗口标题
if (Pos('聊天中', Title) > 0) then
begin
hLastWin := FindWindowEx(hLastWin, THandle(nil), '#32770', nil);
if hLastWin = 0 then Exit;
hLastWin := FindWindowEx(hLastWin, THandle(nil), 'RichEdit20A', nil);
if hLastWin = 0 then Exit;
Long := SendMessage(hLastWin, WM_GETTEXT, 0, 0) + 1;
GetMem(QQText, Long);
SendMessage(hLastWin, WM_GETTEXT, Long, Integer(QQText));
end else Exit;
try
if QQText <> '' then
begin
Memo1.Text := QQText;
end;
finally
FreeMem(QQText);
end;
finally
Timer1.Enabled := True;
end;
end;
end.