利用Delphi的TClipboard类应该是很好实现的。先用Clipboard.HasFormat判断它的内容是什么格式,然后创建相应的实例存储剪贴板中的内容,以备调用。例如当复制了一个文本的内容后,可以:
if Clipboard.HasFormat(CF_TEXT) then
  sClip := Clipboard.AsText;
这样下次就可以把sClip调出来放回系统剪贴板中Clipboard.AsText := sClip;
同样的HasFormat还有下面参数代表不同格式:
CF_TEXT
CF_BITMAP A
CF_METAFILEPICT
CF_PICTURE
CF_COMPONENT
可以分别判断和创建相应的实例,把剪贴板中的内容保存起来。