这程序就是不能待机???????????在没有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;
谢谢!
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;
谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货