keybd_event(VK_RETURN,0,0,0);//让键盘敲击一次回车键
请问敲击CTRL\ALT\空格键\该怎么写,谢谢。

解决方案 »

  1.   

    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if (Shift=[ssctrl,ssalt]) and (key=vk_space) then showmessage('d');
    end;
      

  2.   

    在keydown和keypress两个事件中试一下不就行了。我就是这样做的。
      

  3.   

    是不是想利用敲击某个键,实现某个事件,例如敲回车键
    可以参考下面:
    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
    if key=#13 then button1.Click;
    end;
    关键在于key=#?
    对吗?
      

  4.   

    呵呵,不是的。
    这样说吧,想做个机器人程序,只需要运行该程序,它就可以替代我们敲键盘的各个键了,这样明白了吗?
    我不是有例子吗,执行“keybd_event(VK_RETURN,0,0,0);”就相当于按了回车键,
    现在我还需要“CTRL\ALT\空格键”的代码。
      

  5.   

    那试试keybd_event(VK_SHIFT,0,0,0);和keybd_event(VK_CONTROL,0,0,0);
    应该可以吧?
    VK_SHIFT=#10
    VK_CONTROL=#17
      

  6.   

    问题解决了,谢谢大家。
        keybd_event(VK_F4, 0, 0, 0);      f1-f12
        keybd_event(VK_SPACE, 0, 0, 0);   空格
        keybd_event(VK_LEFT, 0, 0, 0);    
        keybd_event(ord('A'), 0, 0, 0);   a-z
        keybd_event(ord('1'), 0, 0, 0);   0-9
        keybd_event(VK_LEFT, 0, 0, 0);    
        keybd_event(VK_RIGHT, 0, 0, 0);   
        keybd_event(VK_UP, 0, 0, 0);      
        keybd_event(VK_DOWN, 0, 0, 0);    
        keybd_event(VK_SHIFT, 0, 0, 0);   shift
        keybd_event(VK_TAB, 0, 0, 0);     tab
        keybd_event(VK_DELETE, 0, 0, 0);  删除
        keybd_event(VK_RETURN,0,0,0);     回车
        keybd_event(VK_Control,0, 0,0);   ctrl
        keybd_event(VK_MENU,0, 0,0);      alt