keybd_event(Ord('A'), MapVirtualKey(Ord('A'), 0), 0, 0);
这种方法只对CTRL或SHIFT等键有效,能做到按住不放的效果.但是对于A键及Z键等键是不行的,请问如何实现"按住不放开"的效果?

解决方案 »

  1.   

    应用到什么地方?用个时间器不停模拟按-.-#这个API函数可以设置键盘的状态,SetKeyboardState()
      

  2.   

    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA还是得放开,要不发不了回复
      

  3.   

    procedure TForm1.Button2Click(Sender: TObject);
    begin                 //调用两次才行
    keybd_event( VK_CAPITAL,0,KEYEVENTF_EXTENDEDKEY or 0,0); //按下
    keybd_event( VK_CAPITAL,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0); //松开
    {
    procedure keybd_event(bVk: Byte; bScan: Byte; dwFlags, dwExtraInfo: DWORD); stdcall;
    bVk:指定的虚拟键,在1-254之间的值,也可以是具体的键值;
    bScan:为虚拟键指定一个硬件扫描码。
    dwFlags:不同操作的标志,可以选择下面的参数:
    KEYEVENTF_EXTENDEDKEY-扩展键,
    KEYEVENTF_KEYUP-如果指定了,虚拟键就松开,否则虚拟键一直处于按下状态。
    dwExtraInfo:为敲击键盘指定一个32位值; }end;
      

  4.   

    -------------------------------
    zswang(伴水清清)(专家门诊清洁工)
    怎么能看出效果?
    ---------------------------------
    就像在玩CS时按住A键不放的效果一样:)
      

  5.   

    你只需要PostMessage A 键按下的消息就可以了,
    只有当计算机接收到A键 KeyUp的消息时,计算机才会做出A键恢复的相应操作。
    读高中时我自己的Diablo外挂就这么干的,只不过用的Alt键,因为我要找宝物阿。呵呵。
      

  6.   


    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA还是得放开,要不发不了回复
      

  7.   

    monkeyking1983(monkeyking) 兄说的方法也只对ALT或CTRL或SHIFT等功能键有效,比如对A到Z键是无效的.
      

  8.   

    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA还是得放开,要不发不了回复
      

  9.   

    看到你電腦前的鍵盤,在左邊找到一個大寫的A,然後用一根手指,按住它不放,就出現:
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA还是得放开,要不发不了回复
      

  10.   

    while 1=1 do 
     postmessage(HWND,WM_KEYDOWN,0,'A');