Skip to content

GETKEY


返回键盘缓冲区中第一个按键的ASCII码

语法

declare function Getkey ( ) as long

用法

result = Getkey

返回值

返回的ASCII码值。

说明

返回键盘缓冲区中第一个按键的ASCII码。该按键从缓冲区中移除。若没有按键,Getkey 将等待。

对于扩展键(返回两个字符),扩展码在第一个字节(255)中返回,键盘扫描码在第二个字节中返回(至少在控制台模式下,第三和第四字节始终为null)。

关于FreeBASIC内置键盘输入功能,请参阅 键盘输入(基础)

警告:在图形模式下,根据按下的键,Getkey 返回的值可能并不总是与控制台模式相同(对于非扩展键,ASCII码字节的最高有效位可能会传播到返回值的高3个字节,如符号位)。

有关2种屏幕模式的兼容代码,请参阅下面的示例。

读取的按键不会回显到屏幕上。

如果需要在缓冲区无按键时不停止程序的关键字,请参阅 InkeyMultikey

示例

start GeSHi

vb
Dim As Long foo
Do
    foo = GetKey
    Print "total return: " & foo
   
    If( foo > 255 ) Then
        Print "extended code: " & (foo And &hff)
        Print "regular code: " & (foo Shr 8)
    Else
        Print "regular code: " & (foo And &hff)
    End If
    Print
Loop Until foo = 27

end GeSHi

方言差异

  • -lang qb 方言中不可用,除非使用别名 __Getkey 引用。

与 QB 的差异

  • FreeBASIC 新增

另请参阅

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系