当前位置:  开发笔记 > 编程语言 > 正文

使用win32 API函数启用/禁用任务管理器,而不是使用Windows注册表

如何解决《使用win32API函数启用/禁用任务管理器,而不是使用Windows注册表》经验,为你挑选了0个好方法。

目前在C#开发的Windows应用程序中,我正在禁用Task manageruser switching option设置以下注册表的值:

禁用任务管理器:

HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\DisableTaskMgr1

禁用(隐藏)用户切换:

HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\HideFastUserSwitching 价值1

但是,在Windows 7计算机上测试此Windows应用程序时,在不在Administrators组中的登录用户面临访问权限问题,这里是异常文本:

12/16/2015 12:11:24 PM:拒绝访问注册表项"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System".:Win32Error(0,0)

后来我查了手动添加子项DisableTaskMgr通过regedit,我得到同样的消息Access is Denied.

在应用程序清单文件我已经启用requestedExecutionLevel设置:.我也试过运行应用程序exe Run as Administrator.

如果我在Administrators组中添加该用户,则不会遇到任何问题.

那么,是否有任何替代启用/禁用任务管理器和隐藏用户切换可能是通过使用win32 API函数user32.dll?或通过vc++什么解决方案?

业务要求:

嗯,这是一个考试软件的应用程序,我们希望限制候选人使用任何其他应用程序(网络浏览器,文件浏览器等)以及在提供考试时终止该应用程序.所以我们从开始菜单选项以及ctrl + alt + del菜单(屏幕)中阻止了任务管理器,我们还想switch user从ctrl + alt + del菜单中删除选项.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有