TC 中的 bioskey() 函数在 VC 中用什么代替?
2011-6-7 ~ 2023-3-8
(0)
bioskey() 函数需要引用头文件 bios.h,这个头文件在 VC 中默认是没有的,将其引用 #include <bios.h> 删掉即可。
功能上,bioskey 可以实现以下三个功能:
- bioskey(0): 返回用户按键。
如果返回值的低 8 位非 0,该值表示按键的 ASCII 码;
如果返回值的低 8 位为 0,该值表示按键的键码。
作为替代,VC 中可以使用 getch() 返回用户按键。对于功能键(如光标键),getch() 需要调用两次,第一次返回 0 或 0xE0,第二次返回键码。
详见:http://msdn.microsoft.com/en-us/library/078sfkak(v=VS.80).aspx - bioskey(1): 返回是否有按键发生。
如果没有按键,返回 0;
如果有按键,返回该按键值。(该按键仍然保留)
作为替代,VC 中可以使用 kbhit() 返回是否有按键发生。
详见:http://msdn.microsoft.com/en-us/library/58w7c94c(VS.80).aspx - bioskey(2): 返回当前控制键的状态。
- 返回值共 16 位,分别表示:
- 0 右 Shift 按下
- 1 左 Shift 按下
- 2 Ctrl 按下
- 3 Alt 按下
- 4 Scroll Lock 打开
- 5 Num Lock 打开
- 6 Caps Lock 打开
- 7 Insert 打开
- 8 左 Ctrl 按下
- 9 左 Alt 按下
- 10 右 Ctrl 按下
- 11 右 Alt 按下
- 12 Scroll Lock 按下
- 13 Num Lock 按下
- 14 Caps Lock 按下
- 15 Sys Req 按下
作为替代,VC 中可以使用 GetKeyState 或 GetAsyncKeyState。
详见:http://msdn.microsoft.com/en-us/library/ms646301(v=vs.85).aspx
添加评论
取消回复