postmessage 如何模拟ctrl+v,一定要测试通过才行啊,在网上找了很多资料,其实都是不行的,主要是第四个参数,看msdn上说的应该可以实现,只是第四个参数不知该如何传递。实在不行的话能发送中文字符也可。

解决方案 »

  1.   

    学习学习先
    继续顶一下
    顶顶帖子高手们
    也请多多赐教
    http://topic.csdn.net/u/20110709/12/3ec63017-cef8-41e0-a524-c9b9dfe56d5c.html
    http://topic.csdn.net/u/20110611/12/3258c959-4f28-46b7-b5d6-46135d73036b.html
    http://topic.csdn.net/u/20110722/14/89f7440b-c4d7-4c9a-a4bb-a503f5135db2.html
    http://topic.csdn.net/u/20110729/10/a7bfaf06-0cf9-4580-8e91-d4e0b92066c6.htmlhttp://topic.csdn.net/u/20110811/16/e56e7cc1-d8c9-40af-92e3-c24ca103d17d.html
    http://topic.csdn.net/u/20110830/13/dfae4ca5-d2b9-4889-8a3c-6f7fb61936c9.html
    http://topic.csdn.net/u/20110831/17/427b6ab0-66c6-4f33-af26-ebd27b0dc541.html
    http://topic.csdn.net/u/20110901/09/83c2c668-cbe6-4db9-966d-bf2f47456811.html
    http://topic.csdn.net/u/20110905/12/a1161adb-8e5d-491a-b302-c9722edf2dab.html
    http://topic.csdn.net/u/20110906/10/86d49517-b7a6-4fae-982b-478d2d6e2a23.html
      

  2.   

    变通一下吧,不一定非得sendmessage,postmessage什么的,也可以用delphi内嵌vbs,vbs的模拟按键很简单sendkey ^V,就可以实现楼主的要求,至于怎么内嵌,请参考:http://hi.baidu.com/jusuoli/blog/item/340d0bfaf6b5db9458ee900a.html
      

  3.   

    postmessage(句柄,消息,0,LongInt(pchar('测试')))
    接受消息
    str:=Pchar(Msg.lParam)
      

  4.   

    模拟ctrl+v?发送WM_PASTE消息不就OK了吗?
      

  5.   

    线程间可以,进程间需要用wm_copy消息,另外消息内容很重要,看LZ接收方是谁了,例如记事本的话,必须发到那个edit中才会有响应的
      

  6.   

    2楼说的,我知道,我已经用那个实现了,问题是sendkey必须要当前应用程序才可以,后台就不行了
      

  7.   

    3楼m617105用的是c++吗?如何转换为c#呢??
      

  8.   

    4楼vokeyliu说的方法我也试过了,但是不知怎么回事,我这就是没反应,剪切板中有数据,我按下ctrl+v的时候能出来,但程序运行就没出来。。
      

  9.   

    没有问题啊
    SendMessage(Memo1.Handle,WM_PASTE,0,0);
    能够把剪贴板的内容粘贴出来啊,我试过了啊,你确定剪贴板有数据?
      

  10.   

    Const WM_PASTE = &H302
      

  11.   

    Veron_04说的我知道,但那个只能发送到记事本,或带edit句柄的滴地方,我要发送到webbrowser中,发送不过去。
      

  12.   

    补充一下,我看到有人说postmessage可以发送中文,不知道怎么发的,有知道的吗?我发的都是乱码,要么就是键盘字符,不是汉字。。也看到有人说模拟出来ctrl+v了,但都没说方法。。
      

  13.   

    接收端是谁写的?
    自己写的话:
    如果是同一个进程,你可以在postmessage中传递指针,不同进程你可以通过DLL函数开辟的缓冲区、文件、内存映射交换,当然,也可以发一个自定义消息,让他读剪贴板。如果是别人的程序,看他怎么接收吧,如果是记事本那种东西,估计你只能先丢剪贴板然后给他发送一个虚拟键盘消息了。
      

  14.   

    先用FindWindow 
    找到句柄,再用keybd_event等发送消息
      

  15.   

    postmessage可以发送中文
    前提是你要申请内存
    如果是不同程序间发送用wm_copydata,一样要申请内存