Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        3年前关闭。
                                                                                            
                
        
在阅读有关保持键盘(Windows平台)上按下哪个键的日志的脚本时,我发现了以下片段。
我已经阅读了GetAsyncKeyState()上的msdn文档,并在中搜索了解释,但未找到任何满意的答案。
提前致谢
:)

 if (GetAsyncKeyState(character) == -32767){
    //do something
     }

最佳答案

short(16位)值-32767以十六进制表示的是0x8001。这很容易看到位0和15被设置。 man page表示“如果设置了最高有效位,则该键处于按下状态,并且如果设置了最低有效位,则在上次调用GetAsyncKeyState之后按下了该键。”当这两个位都置位时,这两个条件都成立。

10-08 20:02