是否可以在C中按F5键?

时间:2014-01-08 03:39:07

标签: c windows

是否可以通过C程序按 F5 键,因为我们单击程序的.exe然后刷新系统。

同样的问题 NUMLOCK CAPSLOCK

1 个答案:

答案 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;
}

另外,您可以使用原始输入功能来扫描键盘代码并为特定键定义自己的宏。因此,根据原始输入,您可以根据您的要求检测密钥。