可以按C中的F5键吗?

可以按C中的F5键吗?,c,windows,C,Windows,是否可以通过C程序按F5键,单击程序的.exe,然后刷新系统 在Windows中,同样存在NUMLOCK和CAPSLOCK的问题,还有GetAsyncKeyState API。但对于标准C或C++来说,没有任何可移植性。因此,对于WIN32_API,我有一个简单的程序,您可以根据需要进行修改 #include <stdio.h> #include <limits.h> #include <stdlib.h> #include <windows.h&

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


在Windows中,同样存在NUMLOCK和CAPSLOCK的问题,还有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;
}
#包括
#包括
#包括
#包括
内部主(空)
{
短esc=0;
而(!esc){
esc=GetAsyncKeyState(VK_ESCAPE);
if(GetAsyncKeyState(VK\u UP)&SHRT\u MAX)
放置(“按下向上箭头”);
else if(GetAsyncKeyState(VK_DOWN)和SHRT_MAX)
放置(“按下向下箭头”);
else if(GetAsyncKeyState(VK_左)和SHRT_MAX)
puts(“按下左箭头”);
else if(GetAsyncKeyState(VK_RIGHT)&SHRT_MAX)
puts(“按下向右箭头”);
}
返回退出成功;
}

此外,您还可以接收原始输入功能,扫描键盘代码,并为特定的键定义自己的宏。因此,根据原始输入,您可以根据需要检测键。

NUMLOCK
CAPSLOCK
是修改键,其处理方式与
F5
等键不同。实际上,我完全不知道,您可以说是C系统编程的初学者您试图在哪个系统上编程?我使用win7,拥有Turbo C,事实上,我想通过中断来完成。是的,这是可能的。如何做到这一点,除其他外,还取决于所针对的操作系统(Linux/Unix与Windows有很大的不同)。为了得到答案,你需要提供更多关于你所问问题的信息。这是一个繁忙的循环。它可以检测在这个程序之外的按键。这真的不是前进的方向。