设为首页 加入收藏

TOP

VC++锁屏程序遇到的问题
2014-11-23 19:33:46 】 浏览:172
Tags:程序 遇到 问题

终于调试完成,已支持XP和Win7,这个小程序中间出现了若干问题,慢慢道来。

HOOK实现的各个按键的加锁。

刚开始桌面,任务栏直接用的隐藏(SW_HIDE),但是出现的问题是,锁屏之后这些的确都消失了,但是当双击屏幕上的区域是,有时开始菜单会自动弹出。

百思不得其解,猜测开始菜单是任务管理器上的一个Button,可能是钩子函数部分功能导致的该问题。

解决办法:结束:explorer.exe

方法一:

TerminateProcess(id, 1);

该方法出现问题,网上查了很多资料,通过这样的方式结束explorer.exe系统会自动再开启这个Shell进程。

需要在注册表中将

"Software\\Microsoft\\Windows\ NT\\CurrentVersion\\Winlogon"

子项中的AutoRestartShell设置为 0

也有的说将注册表该位置的Shell子项中的值指向任意一个不是explorer.exe的内容(若指向别的值,PC重启之后会因为找不到Shell指向的内容而出现加载不了explorer.exe)

该方法在Win7下应该是可以的,但是在XP下还是不可以。

方法二:

system("taskkill /im explorer.exe /f"); //结束explorer.exe

system("start explorer.exe"); //打开explorer.exe

通过该命令结束explorer.exe命令可以实现结束explorer.exe的效果。

方法三:

"Software\\Microsoft\\Windows\ NT\\CurrentVersion\\Winlogon"

将该注册表项下的Shell子项指向你的应用程序,则,在开机的时候,则会出现你的程序即为默认的Shell加载程序。

所以explorer.exe相当于被禁掉了,开启不了了。

上面就是在结束explorer.exe时遇到的问题和相应的解决方法。

摘自 Maturn的专栏

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇基于VC++实现APC注入 下一篇二叉树的建立及递归遍历

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目