是否可以通过C程序按 F5 键,因为我们单击程序的.exe然后刷新系统。
同样的问题 NUMLOCK 和 CAPSLOCK 也
答案 0 :(得分:0)
在Windows中,有GetAsyncKeyState API。但是对于标准C或C ++来说没有任何便携性。它都是特定于操作系统的。所以对于WIN32_API我有简单的程序,你可以根据你的要求修改
#include <stdio.h>
#include <limits.h>
#include <stdlib.h>
#include <windows.h>
int main ( void )
{
short esc = 0;
while ( !esc ) {
esc = GetAsyncKeyState ( VK_ESCAPE );
if ( GetAsyncKeyState ( VK_UP ) & SHRT_MAX )
puts ( "Up arrow is pressed" );
else if ( GetAsyncKeyState ( VK_DOWN ) & SHRT_MAX )
puts ( "Down arrow is pressed" );
else if ( GetAsyncKeyState ( VK_LEFT ) & SHRT_MAX )
puts ( "Left arrow is pressed" );
else if ( GetAsyncKeyState ( VK_RIGHT ) & SHRT_MAX )
puts ( "Right arrow is pressed" );
}
return EXIT_SUCCESS;
}
另外,您可以使用原始输入功能来扫描键盘代码并为特定键定义自己的宏。因此,根据原始输入,您可以根据您的要求检测密钥。