屏幕锁定和解锁

linxren 2008-03-13 03:26:10
我写了先设这了个共享数据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键时确没有解锁,这是为什么。我这种方法是否能实现这个功能,如果不行,还有别的办法没有?
...全文
146 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnzdgs 2008-03-13
  • 打赏
  • 举报
回复

if(nCode == HC_ACTION)
改为
if(nCode >= 0)
qq271991628 2008-03-13
  • 打赏
  • 举报
回复
同意三楼
linxren 2008-03-13
  • 打赏
  • 举报
回复
但我觉得我屏蔽的只是鼠标的消息,键盘的消息也不执行了嘛?这两个怎么关联到一起的,初学钩子,估计问得有点傻
linxren 2008-03-13
  • 打赏
  • 举报
回复
但我觉得我屏蔽的只是鼠标的消息,键盘的消息也不执行了嘛?这两个怎么关联到一起的,初学钩子,估计问得有点傻
linxren 2008-03-13
  • 打赏
  • 举报
回复
但我觉得我屏蔽的只是鼠标的消息,键盘的消息也不执行了嘛?这两个怎么关联到一起的,初学钩子,估计问得有点傻
linxren 2008-03-13
  • 打赏
  • 举报
回复
但我觉得我屏蔽的只是鼠标的消息,键盘的消息也不执行了嘛?这两个怎么关联到一起的,初学钩子,估计问得有点傻
linxren 2008-03-13
  • 打赏
  • 举报
回复
但我觉得屏蔽掉的只是鼠标的消息,键盘的消息也不执行了吗?两个怎么关联在一起的。我是初学钩子的,估计问得有点傻
qq271991628 2008-03-13
  • 打赏
  • 举报
回复
同意三楼
qq271991628 2008-03-13
  • 打赏
  • 举报
回复
同意三楼
yxz_lp 2008-03-13
  • 打赏
  • 举报
回复
先摁了空格键就
if(keyflag==TRUE)
return 1;
程序就不能接受键盘消息了,而导致
case VK_TAB:
keyflag=FALSE;
没有机会执行。
程序逻辑设计有问题。
linxren 2008-03-13
  • 打赏
  • 举报
回复
自己定下
linxren 2008-03-13
  • 打赏
  • 举报
回复
我发现如果先摁了空格键然后程序就不响应Tab键了,这是为什么?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧