代码如下:    '''发送 TAB
    Call keybd_event(vbKeyTab, 0, 0, 0)
    Call keybd_event(vbKeyTab, 0, KEYEVENTF_KEYUP, 0)   
    ''''发送   ctrl+C  复制   数据
    Call keybd_event(VK_CONTROL, 0, 0, 0)
    Call keybd_event(67, 0, 0, 0)
    Call keybd_event(67, 0, KEYEVENTF_KEYUP, 0)
    Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0)
    Sleep (800)
     ''''发送   ctrl+V  粘贴  数据
    apiState = SendMessage(Text1.hwnd, WM_PASTE, 0&, 0&)
'''发送 TAB
    Call keybd_event(vbKeyTab, 0, 0, 0)
    Call keybd_event(vbKeyTab, 0, KEYEVENTF_KEYUP, 0)   
    ''''发送   ctrl+C  复制   数据
    Call keybd_event(VK_CONTROL, 0, 0, 0)
    Call keybd_event(67, 0, 0, 0)
    Call keybd_event(67, 0, KEYEVENTF_KEYUP, 0)
    Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0)
    Sleep (800)
     ''''发送   ctrl+V  粘贴  数据
    apiState = SendMessage(Text2.hwnd, WM_PASTE, 0&, 0&)这样子可能时间太快了,,从剪切板上复制出来的内容 text1和text2中的内容会相同了,,有时候复制出来的东西还是原来的,没有变化,,,我分析了,应该就是把内容放到剪切板上,再粘贴到 text框里  ,剪切板没有那么快的原因吧??
请问怎么解决这个问题... 
注:  可能你会说:"怎么这么麻烦,找到你要取出数据的控件的HWND,GetWindowText HWND,,,不就行了",可是我没有办法呀,我只能这样曲线救国了,不知道为什么我得到那个控件的句柄了,用GetWindowText得不到显示在那个程序里控件的文本而是得到的那个控件的名称吧(暂且叫名称),用sendmessage(,,WM_GETTEXT,,)也是一样,,我猜可能人家是自己做的一个控件吧,它控件里显示的内容属性可能不是text/caption一类??  那个控件的类名读出来是QWidget 
   好了鲜花撒了一地了,  话到正题   我只能采取这种方式了,,现在想解决剪切板复制的数据不能一致的问题,  请高高手 帮忙 !

解决方案 »

  1.   

    为什么不直接用Clipboard 呢
      

  2.   

    chenhui530(陈辉),怎么直接用,,能解释清楚些吗,,好快点结帖子
     很感谢您 总是来我的贴子
      

  3.   

    晕死Clipboard 你不会用吗??
    你复制的东西先送进剪切板需要复制到哪直接读出来就行了
      

  4.   

    送进剪切板,再复制出来也不行,,,,可能你复制的时候,,剪切板里还没有得到你放进去的内容,,我现在没有办法在用sleep()来延迟点时间,  可是有时候还是 出问题....
      

  5.   

    要复制的数据不是在自己的程序里的,,,怎么用CLIPBOARD?
    不能用的