uses Clipbrd;var
  cb: TClipboard;
begin
  cb := TClipboard.Create;
  cb.Open; // 打开剪贴板
  // 把剪贴板的文本内容用消息发送给编辑框
  SendMessage(编辑框的句柄, WM_SETTEXT, 0, Integer(cb.Astext));
  cb.Close; // 关闭剪贴板
  cb.Free;
end;

解决方案 »

  1.   

    这代码同不同个程序内都没区别,都是设置一个编辑框的内容,
    你需要做的是得到这个编辑框的句柄,用spy++找到那个编辑框的句柄
      

  2.   

    qq是弄不来句柄了,那么你照用你原来keybd_event的代码好了,看了下你的代码是没有问题的
      

  3.   

    我测试你的代码,用一个timer延时3秒,然后让QQ聊天窗口获得焦点,3秒一到,剪贴板的内容也成功粘贴到QQ里了
      

  4.   

    没有啥代码好贴,都是复制你的,放在timer里
    procedure TForm1.tmr1Timer(Sender: TObject);
    begin
      KeyBd_event(17, MapVirtualKey(17, 0), 0, 0); //按下Ctrl键
      keybd_event(86, MapVirtualKey(86, 0), 0, 0);
      keybd_event(86, MapVirtualKey(86, 0), KEYEVENTF_KEYUP, 0);
      KeyBd_event(17, MapVirtualKey(17, 0), KEYEVENTF_KEYUP, 0); //释放Ctrl键
    end;// timer间隔3秒,这里点击开始计时
    procedure TForm1.btn2Click(Sender: TObject);
    begin
      tmr1.Enabled:=True;
    end;然后自己让qq获得焦点,时间到就贴上去了
      

  5.   

    我这里弄了很你一模一样的代码,一直粘贴的是v,似乎CTRL键没有触发
      

  6.   

    我测试了好几次,都没有问题,我是xp系统,QQ最新版本v5.x
      

  7.   

    我的也是XP,QQ是2013版本,开发环境是D7
      

  8.   

    也别搞那么多了,你试下发送粘贴消息就行了SendMessage(QQ聊天窗的句柄, WM_PASTE, 0, 0);
      

  9.   

    用spy++看下聊天窗的句柄,注意如果关闭了聊天窗再开启,这个句柄是会变化的,所以关闭聊天窗后再打开要从新用spy++获取这个句柄,否则就不要再关闭QQ聊天窗了
      

  10.   

    SendMessage(hwnd, WM_PASTE, 0, 0);这样可以粘贴,请问那个发送按钮外部程序如何触发?
      

  11.   

    触发外部程序是什么意思?俺去吃饭鸟,传了个示例,你下载看好了
    http://pan.baidu.com/s/1kTDgWTp
    其实也没必要看,俺都说了代码都是抄你的,基本一样
      

  12.   


    内容都被粘贴到QQ窗口里去了,现在怎么发送QQ信息?
      

  13.   

    模拟鼠标点击发送,自己搜 mouse_event 用法
      

  14.   


            SetCursorPos(r.Left+528, r.Top+10);//移动鼠标
            SendMessage(hwnd,WM_LBUTTONDOWN,0,0);     //模拟鼠标左键按下
            SendMessage(hwnd,WM_LBUTTONUp,0,0);鼠标都移动到QQ聊天窗口的关闭按钮上面去了,关闭按钮都变色了,就是没有触发(点击),怎么搞的?
      

  15.   

    // 移动鼠标到 x,y 坐标处,这个坐标自己协调
    mouse_event(MOUSEEVENTF_MOVE, x, y, 0, 0);
    // 鼠标左键点击
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
      

  16.   

    自己看下MSDN和搜索下吧,以你的智慧,其实不难解决,不要浮躁就好
      

  17.   

    mouse_event(MOUSEEVENTF_MOVE,screen.width-130,5,0,0);
            Mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//模拟鼠标按下左键后松开
            Mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);这样也不行,百度了N多,都无解呀