用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上编译通过。