gpt4 book ai didi

c++ - 无法在结构中的某个点后创建新注册表

转载 作者:行者123 更新时间:2023-11-28 06:17:44 25 4
gpt4 key购买 nike

你好,

我目前正在尝试创建一个应用程序,它可以禁用/启用 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/Software/Microsoft/Windows/CurrentVersion 或任何其他文件夹中创建此注册表,一切正常。但是当我尝试输入Policies 时,RegCreateKeyEx 函数不会返回ERROR_SUCCES

因为这是我需要放置注册表以删除任务管理器选项的位置,我想知道为什么我不能访问该文件夹?

PS 如果我运行以下 reg 文件,则会创建注册表并删除任务管理器选项,所以我猜我拥有必要的权限:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]"DisableTaskMgr"=dword:00000001

最佳答案

函数调用(使用这些确切的参数)返回 代码 5,它代表权限不足 (ERROR_ACCESS_DENIED),正如您自己猜到的那样。如果您还没有尝试以管理员身份运行该应用程序。

关于c++ - 无法在结构中的某个点后创建新注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29922285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com