好的,我正在开发一个带有复选框的集成启动管理器,到目前为止,这就是我所拥有的,它在表单加载时执行以下操作:
RegistryKey hklm = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
foreach (string Programs in hklm.GetValueNames())
{
string GetValue = hklm.GetValue(Programs).ToString();
ListViewItem item1 = listView1.Items.Add(Programs);
item1.SubItems.Add(hklm.Name.ToString().Replace("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion", "HKLM"));
item1.SubItems.Add(GetValue);
}
RegistryKey hkcu = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
foreach (string Programs in hkcu.GetValueNames())
{
string GetValue = hkcu.GetValue(Programs).ToString();
ListViewItem item2 = listView1.Items.Add(Programs);
item2.SubItems.Add(hkcu.Name.ToString().Replace("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion", "HKCU"));
item2.SubItems.Add(GetValue);
} 我知道这可能有点草率,但它似乎是有效的。现在我想知道的是,如果我在列表视图中启用了复选框...我怎样才能拥有它:
A:检查那些“启用”的/not检查那些“禁用”的B:使它成为当你选中它时它“启用”它或取消选中它“禁用”它?
或!
(首选)创建一个上下文菜单(右键菜单),用于禁用和重新启用每个条目(禁用它意味着要将关键字移动到名为"Disabled Start“的子键,而启用它们将把它们移回前一个关键字)
我知道为了启用/禁用,您可以将密钥移动到不同的子密钥,以确保安全,对吗?还是我全搞错了?
发布于 2011-01-28 11:13:50
我同意你的看法。如果我是你我就会这么做。:)
我认为您可以将这些禁用的密钥存储到应用程序目录中存储的文件中。你知道的,就像ini文件。或者,您可以使用自己创建的键将它们存储在注册表中。因此,您可以在卸载管理器时将其删除。
发布于 2011-01-28 13:00:45
推荐的步骤是将这些条目保存到文本文件中。我强烈建议你使用Isolated Storage,如果你要为一个网络构建它,甚至更强大。
我对此不太了解,但我认为您也可以将条目导出为文件(也可以是IsolatedStorageFiles),就像this guy所做的那样(查找"ExportKey“方法),然后重新导入它们。请注意,在这种情况下,您仍然需要某种机制来记住条目,以便可以在列表视图中显示它们。
关于上下文菜单,我认为this可能是你想要的,但实际上我只是在谷歌上搜索并运行了Ubuntu,所以我之前不能真正尝试它。
https://stackoverflow.com/questions/4487383
复制相似问题