2010-12-20 65 views
1

行,所以我的工作与复选框一个集成的启动管理器创建一个启动管理器,到目前为止,这是我有什么,它这样做的形式加载:尝试使用.NET 2.0

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); 
} 

我知道它可能有点草率,但它似乎工作。现在知道什么编号是,如果我在列表视图中启用了复选框...我怎么能这样做:

答:检查那些是“启用”/不检查那些是“禁用“ B:当你检查一个”启用“它或取消选中一个”禁用“它时?

或!

(首选)创建一个上下文菜单(右键单击菜单),用于禁用和重新启用每个条目(并禁用它意味着创建一个名为“Disabled Start”的子键,以便将键移动并启用它们将他们移回到以前的键)

我知道启用/禁用,你可以将钥匙移动到不同的子项,以保持安全,正确吗?还是我有这个全错?

回答

0

我同意你的意见。如果我是你,我的世界会这样做。 :)

我认为你可以将这些被禁用的键存储到存储在你的app目录中的文件中。你知道,就像ini文件一样。或者您可以使用自己创建的密钥将它们存储在注册表中。所以你可以在卸载管理器时删除它们。

0

那么推荐的程序实际上是将这些条目保存到文本文件中。我强烈建议您使用Isolated Storage,如果您打算为网络构建这个功能,则更加强大。

我不知道很多关于这一点,但我觉得你也可以导出条目到文件(也可能是IsolatedStorageFiles)就像this家伙似乎已经做(寻找“ExportKey”的方法),然后重新导入。请注意,在这种情况下,您仍然需要某种机制来记录条目,以便您可以在列表视图中显示它们。

关于上下文菜单我认为this可能是你想要的,但我只是谷歌它和运行Ubuntu,所以我不能真正尝试过。