在结构中的某个点之后无法创建新注册表
Unable to create a new registry after a certain point in the structure
嗨,
我目前正在尝试创建一个应用程序,该应用程序可以禁用/启用 Windows 7 中 ctrl+alt+del 菜单中的选项。
这是一段代码,它被硬编码以删除任务管理器:
HKEY hkey;
DWORD dwDisposition;
bool ok = false;
if (RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\Microsoft\Windows\CurrentVersion\Policies\System"), 0, NULL, 0, KEY_WRITE, NULL, &hkey, &dwDisposition) == ERROR_SUCCESS) {
DWORD rofl = 1;
if (RegSetValueEx(hkey, TEXT("DisableTaskMgr"), 0, REG_DWORD, (PBYTE)&rofl, sizeof(DWORD)) == ERROR_SUCCESS){
ok = true;
}
RegCloseKey(hkey);
}
例如,如果我尝试在HKEY_CURRENT_USER/软件/Microsoft/Windows/CurrentVersion 或任何其他文件夹中创建此注册表,则一切正常。但是一旦我尝试输入策略,RegCreateKeyEx 函数就不会返回ERROR_SUCCES。
因为,这是我需要放置该注册表以删除任务管理器选项的位置,我想知道为什么我无法访问该文件夹?
PS 如果我运行以下 reg 文件,则会创建注册表并删除任务管理器选项,所以我猜我有必要的权限:
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem]"DisableTaskMgr"=dword:00000001
函数调用(具有这些确切的参数)返回代码 5,它代表权限不足 (ERROR_ACCESS_DENIED),正如您自己猜测的那样。尝试以管理员身份运行应用程序(如果尚未运行)。
相关文章:
- 有没有任务栏API可以立即应用注册表更改
- 检查注册表项是否链接到(或副本)另一个注册表项
- 用于创建/注册虚拟存储设备的 IOKit 驱动程序
- 禁用地址共享注册表不起作用
- 如何从注册表项中提取配置单元和注册表名称
- 注册表正在设置 1 个字符
- 清理"QSettings"注册表项的最佳方法(Windows上的Qt 5)
- 在 c++ 中编辑注册表项
- 可以在JSON文件的帮助下在Qt中创建UI表单
- 创建链表
- 某些进程的注册表限制
- 在编译时生成某种子类/类型注册表?
- 注册表-获取值(而不是键)上次更改的时间和键创建日期
- 正在创建与注册表同名的文件
- 如何挂钩新创建的注册表
- 创建注册表密钥 - 拒绝访问
- 在结构中的某个点之后无法创建新注册表
- 训练sapi:创建转录的wav文件并将文件路径添加到注册表
- 在注册表项中创建新数据
- c++不能在注册表中创建新键