Private Sub PostKey(HWnd As Long, KeyCode As KeyCodeConstants)
    PostMessage HWnd, WM_KEYDOWN, KeyCode, 0&
    PostMessage HWnd, WM_KEYUP, KeyCode, 0&
End Sub
Call PostKey(Wnd, Asc("A")) '没反应
Call PostKey(Wnd, vbKeyA)   '正常通过Debug.Print发现,Asc("A")与vbKeyA是一样的。
想不明白,Asc("A")与vbKeyA有什么本质的区别。vbKeyA就通过,Asc("A")就失败

解决方案 »

  1.   

    http://download.csdn.net/detail/veron_04/2813308
      

  2.   

    补充说明:
    Private Sub PostKey(HWnd As Long, KeyCode As KeyCodeConstants)
       PostMessage HWnd, WM_KEYDOWN, KeyCode, 0&
       PostMessage HWnd, WM_KEYUP, KeyCode, 0&
    End SubCall PostKey(Wnd, vbKeyA) '正常
    目的就是想实现:Call PostKey(Wnd, 变量)
    但无法使用变量代替常数,使用变量就没反应
      

  3.   

    Private Sub PostKey(HWnd As Long, KeyCode As Long)
      

  4.   

    Private Sub PostKey(HWnd As Long, KeyCode As KeyCodeConstants)
       PostMessage HWnd, WM_KEYDOWN,byval KeyCode, 0&
       PostMessage HWnd, WM_KEYUP,byval KeyCode, 0&
     End Sub
      

  5.   

    支持一下5楼。应该要加个byval是不是Asc("A")与vbKeyA类型不同。这个我直接写65的