请各位高手给出一个详细例子,我试了许多回答均不成功。

解决方案 »

  1.   

    唉,Ctrl+C不就是ID_EDIT_COPY吗?
    你发送ID_EDIT_COPY消息不就行了!
      

  2.   

    //ctrl + v
    void CDlgDlg::OnButton1() 
    {
    CWnd *pEdit = GetDlgItem(IDC_EDIT1);
    pEdit->SetFocus();
    keybd_event(VK_CONTROL, 0, KEYEVENTF_EXTENDEDKEY, 0); 
    keybd_event('V', 0, KEYEVENTF_EXTENDEDKEY, 0); 
    keybd_event('V', 0, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP, 0);
    keybd_event(VK_CONTROL, 0, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP, 0);
    }
      

  3.   

    实在不好意思,我指的是向另一个应用程序如记事本,word一类的显示文本的程序,发送消息
      

  4.   

    你要先得到它的窗口句柄(这个中文名字实在奇怪,我还是习惯用handle),然后向它发送你要发送的消息。
      

  5.   

    HWND hNotepad = ...;
    ::BringWindowToTop(hNotepad);
    keybd_event(VK_CONTROL, 0, KEYEVENTF_EXTENDEDKEY, 0); 
    keybd_event('V', 0, KEYEVENTF_EXTENDEDKEY, 0); 
    keybd_event('V', 0, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP, 0);
    keybd_event(VK_CONTROL, 0, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP, 0);
      

  6.   

    上面的朋友,我已经得到窗口句柄,但是不知道具体如何发,试过sendmessage(),但是不知道为什么发不过去
      

  7.   

    因为Ctr-v,ctr-c等消息并不是由NotePad 主窗口直接响应的,而是由相应的编辑窗口响应,因此通常是向主窗口keybd_event来达到这样的目的
      

  8.   

    CTRL + C
    WPARAM wParam = (WPARAM)'C';
    LPARAM lParam = 0x412e0001; //01000001 00101110 00000000 00000001
    其中00101110 = 0x2e 表示Ctrl键
    SendMessage(hwnd, WM_KEYDOWN,wParam, lParam); 
      

  9.   

    多谢各位朋友,问题已解决,用的是cheng_young(古道西风瘦马) 朋友的方法,给分了,其他朋友也同样感谢,有机会一定多多送分