我用以下函数向记事本发一个“1”按键,但会出来两个1
    PostMessage txthWnd, WM_KEYDOWN, 49, 0&
    PostMessage txthWnd, WM_KEYUP, 49, 0&而且在SPY++中看到的消息和直接在记事本中按“1”完全不同如果直接在记事本中按“1”键,消息如下
<00001> 000203BE P WM_KEYDOWN nVirtKey:'1' cRepeat:1 ScanCode:02 fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000031 lParam:00020001]
<00002> 000203BE P WM_CHAR chCharCode:'0031' (49) cRepeat:1 ScanCode:02 fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000031 lParam:00020001]
<00003> 000203BE P WM_KEYUP nVirtKey:'1' cRepeat:1 ScanCode:02 fExtended:0 fAltDown:0 fRepeat:1 fUp:1 [wParam:00000031 lParam:C0020001]
上面的postmessage发送的消息如下
<00001> 000203BE P WM_KEYDOWN nVirtKey:'1' cRepeat:62312 ScanCode:13 fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000031 lParam:0013F368]
<00002> 000203BE P WM_KEYUP nVirtKey:'1' cRepeat:62312 ScanCode:13 fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000031 lParam:0013F368]
<00003> 000203BE P WM_CHAR chCharCode:'0031' (49) cRepeat:62312 ScanCode:13 fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000031 lParam:0013F368]
<00004> 000203BE P WM_CHAR chCharCode:'0031' (49) cRepeat:62312 ScanCode:13 fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000031 lParam:0013F368]最大的问题是
1.用postmessage WM_KEYDOWN,WM_KEYUP,发送了两次WM_CHAR,中间加了延时也没用
2.lParam不对,就算我想模仿用“1”键的lParam (PostMessage txthWnd, WM_KEYUP, 49, &H20001)
也不行
高分请教各位高手如果才能用VB发出和直接按键盘上“1”键完全相同的消息呀