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