LRESULT CALLBACK KeyboardProc(int code,WPARAM wParam,LPARAM lParam)
{
if(wParam==VK_F1)
{
::SendMessage(g_hWnd,WM_SYSCOMMAND,SC_MONITORPOWER,1);//关闭显示器
return 1;//CallNextHookEx(g_keyboard,code,wParam,lParam);
}
if(wParam==VK_F11)
{
//::SendMessage(g_hWnd,WM_SYSCOMMAND,SC_MONITORPOWER,-1);
UnhookWindowsHookEx(g_keyboard);
UnhookWindowsHookEx(g_mouse);
}
return 1;
}
LRESULT CALLBACK MouseProc(int code,WPARAM wParam,LPARAM lParam)
{
return 1;
}
HOOKSCREENII_API int SetHook(HWND hWnd)
{
g_hWnd=hWnd;
g_keyboard=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,g_hmodule,0);
g_mouse=SetWindowsHookEx(WH_MOUSE,MouseProc,g_hmodule,0);
return 0;
}
在ScreenPower程序中调用sethook时候,可以成功设置全局钩子。但是同时会出现"找不到ScreenPower.HLP文件",的提示。
这个想问下是什么原因。还有上面关闭显示器了之后。虽然键盘和鼠标全被锁了,但只要随便敲下键盘的某个键或者动下鼠标,显示器立刻又恢复了,怎么实现让显示器掉电,等于把显示器电源断开。