1、如何将abcde这个字符串复制到剪贴板?
2、如何释放剪贴板的内容?
谢谢各位的帮助!!

解决方案 »

  1.   

    clipboard.assign('abcde');
    clipboard.assign(nil);
      

  2.   

    ---- 首先,使用SetClipboardViewer(HWND)函数向剪贴板观察链中加入一个观察窗口。当剪贴板的内容发生变化时,该窗口会接收到一个WM_DRAWCLIPBOARD消息。该函数需要传递的参数是观察窗口的句柄。返回值也是一个窗口句柄类型,标识了将要加入的下一个窗口。 ---- 然后,响应WM_DRAWCLIPBOARD消息处理剪贴板内容的变化。 ---- 最后,在程序退出或关闭时需要调用ChangeClipboardChain函数来将自己从观察链中删除。然后调用SendMessage函数把这些消息传递到观察链中的下一个观察窗口。函数ChangeClipboardChain原型如下: BOOL ChangeClipboardChain(
    HWND hWndRemove, //将要删除的窗口的句柄
    HWND hWndNewNext //观察链中下一个窗口的句柄
       ); ---- Delphi的clipbrd.pas单元中定义了一个类TClipboard,它封装了Windows剪贴板,简化了大量复杂的处理过程。我们在程序中可以直接调用全局函数Clipboard,该函数用于返回TClipboard对象实例,使用这个实例对剪贴板进行剪切、复制和粘贴等操作。下面是TClipboard对象的几个常用的方法和属性的简单介绍。 ---- 方法: ---- Assign:将指定的对象放入剪贴板中。 ---- Open:打开剪贴板,防止其他程序改写剪贴板。在向剪贴板加入多项数据时尤其有用。 ---- Close:关闭剪贴板。应该与打开剪贴板成对使用。 ---- Clear:清空剪贴板。 ---- GetAsHandle:返回剪贴板中指定格式数据的句柄。使用前必须打开剪贴板。 ---- GetComponent:返回剪贴板中的一个控件。Delphi自己使用得多。 ---- HasFormat:查询剪贴板中是否有指定格式的内容。 ---- 属性: ---- AsText:用于读写剪贴板文字内容。 ---- FormatCount:读剪贴板中数据格式的种数。 ---- Formats:返回剪贴板中各种格式的列表。 ---- 此外,Delphi中的许多控件中也封装了有关剪贴板处理的操作。下面的一个处理剪贴板的简单例子,只是将剪贴板的文字内容显示为窗口标题。 unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes,
     Graphics, Controls, Forms, Dialogs,
      Clipbrd;//加入clipbrd单元type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject;
     var Action: TCloseAction);
      private
        { Private declarations }
      public
        NextClipHwnd:HWND;//观察链中下一个窗口句柄
    procedure WMDrawClipBoard
    (var AMessage:TMessage);
     message WM_DRAWCLIPBOARD;
    //处理WM_DRAWCLIPBOARD消息过程
      end;var
      Form1: TForm1;implementation{$R *.DFM}{ TForm1 }procedure TForm1.WMDrawClip
    Board(var AMessage: TMessage);
    begin
      //将WM_DRAWCLIPBOARD
    消息传递到下一个观察链中的窗口
      SendMessage(NextClipHwnd,AMessage.
    Msg,AMessage.WParam,AMessage.LParam);
      //查询剪贴板中特定格式的数据内容
      if (Clipboard.HasFormat(CF_TEXT) or
     Clipboard.HasFormat(CF_OEMTEXT)) then
      begin
        //处理剪贴板中内容
        Caption:=Clipboard.asText;
      end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      //获得观察链中下一个窗口句柄
      NextClipHwnd:=SetClipBoardViewer(Handle);
    end;procedure TForm1.FormClose
    (Sender: TObject; var Action: TCloseAction);
    begin
      //从观察链中删除本观察窗口
      ChangeClipboardChain(Handle,NextClipHwnd);
      //将WM_DRAWCLIPBOARD
    消息传递到下一个观察链中的窗口
      SendMessage(NextClipHwnd,WM_
    CHANGECBCHAIN,Handle,NextClipHwnd);
    end;end.
      

  3.   

    uses Clipbrd;就有了一个全局变量ClipBoard。
    用它就可以了。
      

  4.   

    clipboard.assign('abcde');
    clipboard.assign(nil);
    上面2句试过了,不管。