-1

我正在用 c++ 开发一个应用程序,用户可以从该应用程序中禁用任务管理器(以及更多功能)。这是我在 Visual C++ 中的做法:

HKEY regHandle;

DWORD dwValue = 1;
BYTE* data = (BYTE*)&dwValue;

RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", 0, NULL, NULL, KEY_WRITE | KEY_WOW64_32KEY,NULL , &regHandle ,NULL );
RegSetValueEx(regHandle,"DisableTaskmgr",0, REG_DWORD,data ,sizeof(DWORD));

它在管理员帐户中运行良好。但在受限用户帐户和访客帐户中,它不起作用。它试图将 UAC 级别更改为管理权限/最高可用。两者都没有工作。我还检查了是否可以通过将 reg 值写入HKEY_LOCAL_MACHINE. 可悲的是,这也失败了。

我用谷歌搜索得很好,并搜索了stackoverflow,但没有找到解决方案。手动编辑组策略/注册表根本不是解决方案,我必须在需要时从我的应用程序内部进行。在此先感谢您的帮助。

4

1 回答 1

2

我认为这是因为您正在通过注册表修改组策略选项:

在此处输入图像描述

但是组策略还没有生效。微软说你必须重新启动。

也许强制组策略更新

gpupdate / 强制

会使其生效。

这是您的安装程序会做的事情,然后提醒用户他们必须在安装完成之前重新启动计算机。或者也许,因为它只是 HKCurrentUser,注销和登录将起作用。

于 2014-01-01T18:44:14.293 回答