没有扫描码的。
如果似从端口直接读的话,收到的SCAN code是
CTRL down + alt down + del down

解决方案 »

  1.   

    我需要在驱动程序FILTER中分辨出‘三键’,应该如何判断呢?
      

  2.   

    妈的§~~~~破CSDN,我白打了半天~~~
      

  3.   


    挂接int 9
    分配数组KeyDown[128];全部设为0。
    读扫描码
    设置KeyDown[scancode&0x7f]=scancode&0x80;就是该键有没有按下的信息。然后扫描KeyDown[]数组,查看scancode 为ctrl alt del的键是否全为1,是即进行你的处理。
      

  4.   

    我还是不太明白:
    我从FILTER处得到的信息如下:
    如果是三键一起按下:一般会得到五个‘消息’:
    makecode:    flag:
    Key: 0038 0000
    Key: 0053 0000
    Key: 0053 0001
    Key: 001d 0001
    Key: 0038 0001会少一个键的按下信息。检测时是否是要连续的信息呢?谢谢!
      

  5.   

    不需要连续~~~
    因为keyDown数组里面保存了所有你的键的状态,由它就可以检查一个键有没有按下。
    考察
    先ctrl down
    再alt down 
    zai tab down
    此时状态为真的key有
    CTRL,alt,tab,就可以判断是alt-tab然后收到 tab up
    del down
    状态为
    ctr-alt-del因为你按下一个键会产生一个扫描码,释放时也会产生一个扫描码,所以可以这样判断的
      

  6.   

    我知道了!!
    KEVIN,我是用驱动程序截,
    有按键才能经过我的处理。
    所以得在驱动程序里放三个BOOL,记录三个键状态
    每次有按键时,同时判断三个BOOL,都为真时是。测试也通过了。谢谢你!