| bioskey检测不到:Win键、右键菜单键、抓屏键、F11、F12键,请大家帮忙 |
| [ 来源:ITWENKU 时间:2007-4-16 17:31:13 | 浏览:346人次
] |
| |
|
函数名称: bioskey 函数原型: int bioskey(int cmd) 函数功能: 读取键盘值 函数返回: cmd=0:返回一个键盘值(ascii值放在低位,扫描码放在高位),若无按键,一直等 cmd=1:查询键盘是否按下:0-无键按下,非0-有键按下 cmd=2:返回控制键状态,返回值保存在低8位中 0-右边的shift键按下 5-已打开Scroll_Lock 1-左边的shift键按下 6-已打开Num_Lock 3-Ctrl键按下 7-已打开Caps_Lock 4-Alt键按下 8-已打开Insert 参数说明: 所属文件: <bios.h>
#include <stdio.h> #include <bios.h> #include <ctype.h> int main() { int key, shift; int lastshift; while (1) { shift=bioskey(2); if(shift!=lastshift) printf("Shift=0x% 02x\n",shift); if(bioskey(1)) { key=bioskey(0); if((key&0xFF)=='q') break; printf("Key=0x% 04x",key); } lastshift=shift; } return 0; } 可以检测到其他的键盘,但是无法检测到Win键、右键菜单键、抓屏键、F11、F12键,现在想做一个键盘测试程序,怎样才能检测到这些键是否被按下
那就用键盘钩子吧
程序只能在dos下使用的,用tc开发的,不支持钩子吧
dos下还不是想咋搞咋搞, 最多挂键盘中断三 ...
能具体说说吗?dos下键盘中断怎么挂,给个小例子就好了,先谢谢了!
有人给说说吗?
如果要处理中断的话应该得要用汇编写吧,没实现过.
中断只能用汇编吗?C语言不能处理吗?
这里没有人知道怎么弄吗?
c当然可以写中断了,tc也提供这样的接口。
|
|
 |
推荐文章 |
|