Tag: regedit

Regedit显示未使用GetSubKeyNames()列出的键

我已经检查了一些关于SO的其他回复,但据我所知,这是一个与我得到的命中不同的问题。 当我打开RegEdit时,我可以看到一组键,但是当我从我的程序中列出它们时使用例如: Registry.LocalMachine.OpenSubKey(@”SOFTWARE”).GetSubKeyNames() 其中一些人失踪了。 我认为这可能与访问权限有关,所以我检查了.CurrentUser 。 在那里可以体验到相同的行为。 一些子键未列出。 我错过了什么?

启用/禁用TaskManager

public static void ToggleTaskManager(string keyValue) { RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(“Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System”); objRegistryKey.SetValue(“DisableTaskMgr”, keyValue); objRegistryKey.Close(); } private void btnDisableTaskManager_Click(object sender, EventArgs e) { ConsoleDisplay.ToggleTaskManager(“1”); } private void btnEnableTaskManager_Click(object sender, EventArgs e) { ConsoleDisplay.ToggleTaskManager(“0”); } 对于上面使用的禁用/启用TaskManagerfunction但是当我第一次禁用时它会正确禁用。但是当我点击启用按钮时,未启用TaskManager。

如何在重启后自动运行应用程序?

如何在重启后自动运行应用程序? (通过c#代码)我在注册表中的’runOnce’键中创建一个新的字符串,其中包含App的路径。 操作系统在加载操作系统之前运行此操作系统我的问题是:我的APP加载但浏览器无法加载,关闭我的APP后,资源管理器加载我在APP中重新启动计算机,重启后我希望我的APP重新打开

将上下文菜单添加到IE以执行我的程序

我想知道如何在IE上下文菜单(右键菜单)中添加新项目,以便复制网站中的选定文本,打开我的winform应用程序C#,并将文本粘贴到我的应用程序的文本框中。

为什么注册表写在不同于预期的位置?

我尝试将注册表子项及其对应的值写入注册表,如下所示: const string subKey = @”SOFTWARE\Apple\Banana\”; const string regKey = “pip”; var rk = Registry.LocalMachine.OpenSubKey(subKey); if (rk == null) rk = Registry.LocalMachine.CreateSubKey(subKey); var rv = rk.GetValue(regKey); if (rv == null) rk.SetValue(regKey, “XXX”); return rv.ToString(); 现在的问题是,当我手动查看位置(通过注册表)时,我无法在HKLM看到文件夹SOFTWARE\Apple\Banana 。 但是当我再次运行上面的代码并进行调试时,我可以看到Registry.LocalMachine.OpenSubKey(subKey)和rk.GetValue(regKey)产生之前保存的值。 然而,我没有通过regedit看到给定位置的值。 所以在搜索注册表时,我可以在以下位置看到上面的键和值: HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Apple\Banana HKEY_USERS\S-1-5-21-44266131-1313801407-2392705078-1000\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Apple\Banana 在两者之下,价值保持与我保存完全一样。 所以我意识到这是我的应用程序读取值的地方虽然在我的代码中我从HKLM\SOFTWARE\Apple\Banana\调用它。 为什么会这样? 它与访问权限问题有关吗? 这是预期的行为吗? 从某种意义上说,这个值对我来说非常重要,所以我只知道是否存在与自动重定位相关的风险! 是否有正确的方式写入注册表,以便它保持在其确切的位置.. 我的帐户是管理员一,我使用的是32位Windows 7。 编辑:据我所知,注册表项存储在当前用户位置而不是HKLM中。 当我从另一个帐户查询reg值时,我没有得到该值。 简而言之,首先将它保存到HKLM没有意义:(