1
RegistryKey HCU = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
foreach (string Programs in HCU.GetValueNames())
{
row = dt.NewRow();
row["Item Name"] = Programs;
dt.Rows.Add(row);
}
RegistryKey HLM = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
foreach (string Programs in HLM.GetValueNames())
{
row = dt.NewRow();
row["Item Name"] = Programs;
dt.Rows.Add(row);
}
DirectoryInfo di = new DirectoryInfo(@"C:\Users\DEV2\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup");
FileInfo[] rgFiles = di.GetFiles("*.*");
foreach (FileInfo fi in rgFiles)
{
if ((fi.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
{
row = dt.NewRow();
row["Item Name"] = fi.Name;
dt.Rows.Add(row);
}
}
RegistryKey HKLM = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Shared Tools\\MSConfig\\startupreg", true);
foreach (string Programs in HKLM.GetSubKeyNames())
{
// string GetFilePath = HKCU.GetValue(Programs).ToString();
row = dt.NewRow();
row["Item Name"] = Programs;
// row["Location"] = "HKLM\\SOFTWARE\\Microsoft\\Shared Tools\\MSConfig\\startupreg";
dt.Rows.Add(row);
}
RegistryKey HKLM2 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Shared Tools\\MSConfig\\startupfolder", true);
foreach (string Programs in HKLM2.GetSubKeyNames())
{
RegistryKey productKey = HKLM2.OpenSubKey(Programs);
if (productKey != null)
{
foreach (string value in productKey.GetValueNames())
{
if (value == "item")
{
row = dt.NewRow();
row["Item Name"] = Convert.ToString(productKey.GetValue("item"));
// row["Location"] = "HKLM\\SOFTWARE\\Microsoft\\Shared Tools\\MSConfig\\startupreg";
dt.Rows.Add(row);
}
}
}
}
uxDgvStartupItems.DataSource = dt;
DataGridViewColumn column = uxDgvStartupItems.Columns["Item Name"];
column.Width = 600;
foreach (DataGridViewRow ro in uxDgvStartupItems.Rows)
{
DataGridViewCheckBoxCell ch1 = (DataGridViewCheckBoxCell)ro.Cells[0];
ch1.Value = true;
}
RegistryKey HKCU3 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Shared Tools\\MSConfig\\startupfolder", true);
foreach (string Programs in HKCU3.GetSubKeyNames())
{
RegistryKey productKey = HKLM2.OpenSubKey(Programs);
if (productKey != null)
{
foreach (string value in productKey.GetValueNames())
{
if (value == "item")
{
string txt = Convert.ToString(productKey.GetValue("item"));
foreach (DataGridViewRow ro in uxDgvStartupItems.Rows)
{
string txt1 = ro.Cells[1].Value.ToString();
if (txt == txt1)
{
var ch2 = (DataGridViewCheckBoxCell) ro.Cells[0];
ch2.Value = false;
}
}
}
}
}
}
RegistryKey HKCU1 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Shared Tools\\MSConfig\\startupreg", true);
foreach (string Programs in HKCU1.GetSubKeyNames())
{
string txt = Programs;
foreach (DataGridViewRow ro in uxDgvStartupItems.Rows)
{
string txt1 = ro.Cells[1].Value.ToString();
//var txt1 = uxDgvStartupItems.Rows[uxDgvStartupItems.CurrentCell.RowIndex].Cells[1].FormattedValue.ToString();
if (txt == txt1)
{
var ch2 = (DataGridViewCheckBoxCell)ro.Cells[0];
ch2.Value = false;
}
}
}
HKCU1.Close();
我想知道如何启用或禁用窗口启动与C#项目。 任何有关它的一些想法???? /请给答案。帮助将不胜感激。 – user1796487
使用“编辑”功能将您的评论置于帖子的顶部可能会更好 - 这样,人们就可以在显示当前代码之前看到您要做的事情。 – nickhar
@nickhar:对不起,其实上面的代码是用来显示启动项的,现在我想像启动MSCONFIG一样,启用/禁用C#窗体窗体的启动项。 – user1796487