#include<windows.h>
void main()
{
  while(1)
 {
      keybd_event(VK_CONTROL,0,0,0);   
      keybd_event(79,0,0,0);   
      keybd_event(79,0, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);   
      keybd_event(VK_CONTROL,0, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);  
  Sleep(2000);
  }
}
    程序代码如上所示,要实现的就是按下组合键CTRL+O,O的虚拟码为79.程序一运行也会出现:“打开”对话框。可是遇到一个很奇怪的问题:每次一线束程序的运行,CTRL键仍处下按下状态,这是为什么呢?我不是有了“  keybd_event(VK_CONTROL,0, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);  ”这句弹起了吗?
    在线等,求真相。

解决方案 »

  1.   

    不行呀,我改成这样了还是那个问题,
    #include<windows.h>
    void main()
    {
    //int i=0;
    while(5)
    {
    //char str='a';
      keybd_event(VK_CONTROL,0,0,0); 
      Sleep(50);
          keybd_event(79,0,0,0);   
       Sleep(50);
          keybd_event(79,0, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);  
       Sleep(50);
          keybd_event(VK_CONTROL,0, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);  
      Sleep(2000);
     // i++;
     // keybd_event(VK_CONTROL,0, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);
    }
    }
    每次运行完要再按下CTRL键,其它键才能正常输入。