unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Clipbrd;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Memo1: TMemo; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public FNextViewerHandle:tHandle; procedure WMDrawClipboard (var message : TMessage); message WM_DRAWCLIPBOARD; { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button2Click(Sender: TObject);beginChangeClipboardChain(Handle, FNextViewerHandle);end;procedure TForm1.WMDrawClipboard (var message : TMessage);beginSendMessage(WM_DRAWCLIPBOARD, FNextViewerHandle, 0, 0);Memo1.Lines.Add(Clipboard.AsText);end;procedure TForm1.Button1Click(Sender: TObject);beginFNextViewerHandle := SetClipboardViewer(Handle);end;end.///没用hook 不知道有没有分