用DELPHI实现监测剪贴板功能

Author: 汪晶 Date: 2000年 第6期

  如今网上一些字处理软件大多带有监测剪贴板功能,这个功能对于网虫特别实用,免去了IE和记事本之间来回切换的烦恼。其实要实现这个功能其实也很简单,下面就以DELPHI为例,介绍一下实现这个功能的方法。
  首先新建一个工程,并在表单上加入一个MEMO控件,一个TIMER控件,设置TIMER控件的INTERVAL属性为100。具体代码如下:
  unit Unit1;
  interface
  uses
  Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,ExtCtrls,StdCtrls,clipbrd;
  type
  TForm1 = class(TForm)
  Memo1: TMemo;
  Timer1: TTimer;
  procedure Timer1Timer(Sender: TObject);
  private
  { Private declarations }
  public
  { Public declarations }
  end;
  var
  Form1: TForm1;
  Clipboardc:TClipboard;
  implementation
  {$R *.DFM}
  procedure TForm1.Timer1Timer(Sender: TObject);
  begin
  Clipboardc := TClipboard.Create;
  try
  if Clipboard.HasFormat(CF_text) then
  //判断剪贴板中数据是否为文本
  begin
  MEMO1.lines.add( Clipboard.AsText);
  Clipboard.Clear;
  //防止重复加载
  end
  finally
  ClipboardC.Free;
  end;
  end;
  end.
  输完以上代码,就可以运行它了。赶紧打开记事本,在IE、WPS中多复制一些文本数据,切回程序。你会惊喜地发现刚才复制的所有文本已经安静地躺在那里。以上代码在DELPHI4.0、Windows 95上编译通过。