适合与任何地方,比如:delphi外ie浏览器,电子词典。设想通过鼠标选取需要的文字,通过快捷键(比如:ctrl+1)复制并粘贴进delphi文本框中。简单的说就是通过快捷键实现文字的复制粘贴。本人分不多,麻烦大家了.

解决方案 »

  1.   

    Uses ClipBrd;
    使用全局变量对象Clipboard,比如Clipboard.AsText
      

  2.   

    试试
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls, Clipbrd;type
      TForm1 = class(TForm)
        Memo1: TMemo;
        Timer1: TTimer;
        procedure FormCreate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
      private
        { Private declarations }
        hkid: Integer;
        procedure WMHotkey(var AMsg: TMessage); message WM_HOTKEY;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      hkid := GlobalAddAtom('myhotkeyid');
      RegisterHotKey(Handle, hkid, MOD_CONTROL, Ord('1'));end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      UnregisterHotKey(Handle, hkid);
      GlobalDeleteAtom(hkid);
    end;procedure TForm1.WMHotkey(var AMsg: TMessage);
    begin
      if AMsg.WParam = hkid then
      begin
        Clipboard.Clear;
        keybd_event(VK_CONTROL, 0, 0, 0);
        Sleep(10);
        keybd_event(Ord('C'), 0, 0, 0);
        Sleep(10);
        keybd_event(Ord('C'), 0, KEYEVENTF_KEYUP, 0);
        Sleep(10);
        keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
        Sleep(10);
        Memo1.Lines.Add(Clipboard.AsText);
      end;
    end;end.
      

  3.   

    按ctrl+1提示
    cannot open Clipboard.
    ??
      

  4.   

    #5楼(皮皮鲁)  你好!你的那个例子我试了,很好,可是只能针对别的,对于网页里的文字还是无法提取出现‘cannot open Clipboard. ’这个错误,我实在不知道什么原因?你能帮我把这个问题解决了吗?先谢谢了