Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Sub Command1_Click()
     Clipboard.Clear
     Clipboard.SetText (Text1.Text)
     Text2.SetFocus
     Text2.SelStart = 0
     Text2.SelLength = Len(Text2.Text)
Call keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0)
Call keybd_event(vbKeyV, MapVirtualKey(vbKeyV, 0), 0, 0) 
Call keybd_event(vbKeyV, MapVirtualKey(vbKeyV,0),KEYEVENTF_KEYUP,0)
Call keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0),KEYEVENTF_KEYUP, 0)  End Sub
怎么运行是在text2里写入2个V,好像就相当于按了两下V键,并没有实现按下ctrl+V,不知道问题出在哪了
           

解决方案 »

  1.   

    ''''发送   ctrl+C 
        Call keybd_event(VK_CONTROL, 0, 0, 0)
        Call keybd_event(86, 0, 0, 0)
        Call keybd_event(86, 0, KEYEVENTF_KEYUP, 0)
        Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0)哈哈
    把分都给我
      

  2.   

    Call keybd_event(VK_CONTROL, 0, 0, 0)
        Call keybd_event(86, 0, 0, 0)
        Call keybd_event(86, 0, KEYEVENTF_KEYUP, 0)
        Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0)
    哈哈
    把分都给我
      

  3.   

    '声明一下常数
    Private Const VK_CONTROL = &H11
    Private Const KEYEVENTF_KEYUP = &H2
    Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    Private Sub Command1_Click()
    Clipboard.Clear
    Clipboard.SetText (Text1.Text)
    Text2.SetFocus
    Text2.SelStart = 0
    Text2.SelLength = Len(Text2.Text)
    Call keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0)
    Call keybd_event(vbKeyV, MapVirtualKey(vbKeyV, 0), 0, 0)
    Call keybd_event(vbKeyV, MapVirtualKey(vbKeyV, 0), KEYEVENTF_KEYUP, 0)
    Call keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0)
    End Sub
      

  4.   

    应该是你没有声明
    Private Const VK_CONTROL = &H11
    Private Const KEYEVENTF_KEYUP = &H2所以 vk_control=0 ,没有产生 CONTROL 按键
    KEYEVENTF_KEYUP =0 也不会产生 V 键抬起
      

  5.   

    sendkey "{^V}" 
    行吗? 我不太懂