在key_down事件中检测key_code
用Sendskey ... 发送keycode给有焦点的控件

解决方案 »

  1.   

    在key_press事件中有一个整形参数,通过这个整形参数就能获取按键值。
    然后再通过这个按键值来触发一些事件就OK了。
      

  2.   

    key_press是不能捕获一些特殊键的
      

  3.   

    楼上的,在Key_Down里是可以测出win键的,但测出来后用Keycode=0的方法并没有阻止开始菜单弹出来,有没有什么好办法?
      

  4.   

    要截取windows消息然后杀掉吧,你有简单方法吗?(换一个没有win的老键盘?。。)
      

  5.   

    首先还没到三更,其实我喜欢玩,再次我实在不知道如何取消,好像这个键是WINDOWS捕获的,和vb没有关系。
      

  6.   

    SendKeys "{UP}",TRUE '向上
    SendKeys "{DOWN}",TRUE '向下
    SendKeys "{LEFT}",TRUE '向左
    SendKeys "{RIGHT}",TRUE '向右
    如果用键值则:(即 KeyCode)
    vbKeyLeft 0x25          LEFT  键 
    vbKeyUp 0x26            UP    键 
    vbKeyRight 0x27         RIGHT  键 
    vbKeyDown 0x28          DOWN   键 
    如:
    If KeyCode=VbKeyLeft Then MsgBox " Hello , You press left key" '如果您按了左键则显示"Hello, You press left key" 
    '''''''''''以下是 SendKeys 的键表: 
    % ALT
    ^ CTRL
    + SHIFT
    BACKSPACE {BACKSPACE}, {BS}, 或 {BKSP} 
    BREAK {BREAK} 
    CAPS LOCK {CAPSLOCK} 
    DEL or DELETE {DELETE} 或 {DEL} 
    DOWN ARROW {DOWN} 
    END {END} 
    ENTER  {ENTER}或 ~ 
    ESC {ESC} 
    HELP {HELP} 
    HOME {HOME} 
    INS or INSERT {INSERT} 或 {INS} 
    LEFT ARROW {LEFT} 
    NUM LOCK {NUMLOCK} 
    PAGE DOWN {PGDN} 
    PAGE UP {PGUP} 
    PRINT SCREEN {PRTSC} 
    RIGHT ARROW {RIGHT} 
    SCROLL LOCK {SCROLLLOCK} 
    TAB {TAB} 
    UP ARROW {UP} 
    F1 {F1} 
    F2 {F2} 
    F3 {F3} 
    F4 {F4} 
    F5 {F5} 
    F6 {F6} 
    F7 {F7} 
    F8 {F8} 
    F9 {F9} 
    F10 {F10} 
    F11 {F11} 
    F12 {F12} 
    F13 {F13} 
    F14 {F14} 
    F15 {F15} 
    F16 {F16} 
      

  7.   

    谢谢kailong(凯龙) 
        那怎样实现键值的替换呢?比如我按下了“A”键就代表按下了“LEFT”键。
      

  8.   

    在key_press事件中
    if keyascii=... then keyascii=....