IntPtr a = FindWindow("VoiceRoomForm", null);//查找窗口
            IntPtr b = FindWindowEx(a, IntPtr.Zero, "ExtraEd", null);//查找子控件
            if (b != IntPtr.Zero)
            {
                ShowWindow(a, 3);
                SetForegroundWindow(b);
                keybd_event(0x11, 0, 0, 0);
                keybd_event(86,0,0,0);
                keybd_event(86,0,0x2,0);
                keybd_event(0x11, 0, 0x2, 0);
            } 
用这个去向一个对话框内去粘贴 有时候能粘贴上有的时候粘贴不上  在记事本里一直都好使

解决方案 »

  1.   

    keybd_event的代码是什么?贴出来,
      

  2.   

    SetForegroundWindow(b);
    while(GetForegroundWindow() != b){
    Sleep(100);
    }
    keybd_event...
      

  3.   

    SetForegroundWindow(b);
    你确定窗体置前后,焦点控件是要接受消息的控件吗
      

  4.   

    程序有一个按钮目的是 让一个窗口置前 然后让控件获得焦点 再模拟键盘ctrl+v 但是点击这个按钮窗口会置前 手动ctrl+v 好使  按下按钮就有的时候会粘贴 有的时候不粘贴 点10下按钮 就粘贴几次
      

  5.   

    每个操作之前加Sleep,来点延时,不然操作系统觉得你操作太快了。
      

  6.   

    SetForegroundWindow(b);
    Sleep(100);
    keybd_event(0x11, 0, 0, 0);
    Sleep(100);
    keybd_event(86,0,0,0);
    Sleep(100);
    keybd_event(86,0,0x2,0);
    Sleep(100);
    keybd_event(0x11, 0, 0x2, 0);
    Sleep(100);