关于网友提出的“ 屏幕锁定和解锁”问题疑问,本网通过在网上对“ 屏幕锁定和解锁”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 屏幕锁定和解锁
描述: 我写了先设这了个共享数据bool keyflag=FALSE;
然后用钩子函数:
LRESULT WINAPI MouseProc(int nCode,WPARAM wparam,LPARAM lparam)
{
……
……
if(keyflag==TRUE)
return 1;
else
return CallNextHookEx(glhHook,nCode,wparam,lparam); //继续传递消息
然后使用键盘钩子:
LRESULT CALLBACK KeyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if(nCode == HC_ACTION)
{
if((lParam&0xc000ffff)==1){
switch(wParam)
{
case VK_SPACE:
keyflag=TRUE;
break;
case VK_TAB:
keyflag=FALSE;
break;
}
………………
当我按下空格键时屏幕确实不能动了,但是,我在按下Tab键时确没有解锁,这是为什么。我这种方法是否能实现这个功能,如果不行,还有别的办法没有?
解决方案1: 把
if(nCode == HC_ACTION)
改为
if(nCode >= 0)
解决方案2: 先摁了空格键就
if(keyflag==TRUE)
return 1;
程序就不能接受键盘消息了,而导致
case VK_TAB:
keyflag=FALSE;
没有机会执行。
程序逻辑设计有问题。
以上介绍了“ 屏幕锁定和解锁”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3363045.html