这程序就是不能待机???????????在没有Wake UP,Sleep,Power的键盘上如何实现它们,谢谢!现在看《Windows程序设计》到第六章。我的键盘多媒体是没有Wake UP,Sleep,Power键。另外多了几个多媒体键用第六章的KEYVIEW1显示为173,174,175。我想把它们设成Wake UP,Sleep,Power键。Message    Key         ScanWake Up    255    1     99    yes no 
Sleep      95     1     95    yes no
Power      255    1     94    yes no用别人的键盘Wake UP,Sleep,Power有用。给点思路!
//Windows 2000 sp3      INPUT in;
     KEYBDINPUT kbdIn;  
      memset(&in,0,sizeof(INPUT));  
      memset(&kbdIn,0,sizeof(KEYBDINPUT));    
       UINT nInputs = 1;  
      int size = sizeof(INPUT);   
      in.type = INPUT_KEYBOARD;        kbdIn.dwFlags = 0x5f; //待机
      kbdIn.wVk = 0x5f;  //sleep
      in.ki = kbdIn;   
switch (message)
     { case WM_KEYDOWN:
    switch (wParam)
      {
 //就是待不了机???????????????????????????
 //我用别人的键盘可以待机。
       case 174:
   //无效????
  keybd_event(95, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);    //无效????
    SetSystemPowerState(FALSE,TRUE);    //无效????
    SendInput(1,&in,size);
 
 break;  //可以开光驱!
    case 167:
           error = mciSendString( "set cdaudio door open", NULL, 0, NULL);
    //"set cdaudio door open"
    break;
     ////可以关光驱!
  case 166:
        error = mciSendString( "set cdaudio door closed", NULL, 0, NULL);
           //"set cdaudio door open"
    break;    //可以开网页!
    case 175:
ShellExecute(NULL, "open", "http://www.csdn.com", NULL,NULL,SW_SHOWNORMAL);
break;
  }
  return 0;
谢谢!

解决方案 »

  1.   

    http://www.china-askpro.com/msg20/qa93.shtml
      

  2.   

    你的操作系统设置休眠支持了吗?如需在你的计算机上激活休眠支持特性,请执行以下操作步骤:你必须以管理员、Administrators或Power Users组成员的身份登录。如果你的计算机与某个网络建立了连接,那么网络策略设置可能会导致这一操作过程无法实现。点击“开始”→“控制面板”→“性能和维护”→“电源选项”,单击“休眠”选项卡,选中“启用休眠”