C# 获取所有启动项目?
好吧,我想我脑子里出了个屁,找不到出路了。我试图完成的是列出所有启动项(应用程序、进程等)并将它们显示在表单上(如msconfig.exe)。我认为这段代码可以做到:C# 获取所有启动项目?,c#,C#,好吧,我想我脑子里出了个屁,找不到出路了。我试图完成的是列出所有启动项(应用程序、进程等)并将它们显示在表单上(如msconfig.exe)。我认为这段代码可以做到: private List<StartupItems> getStartupItems() { try { ManagementClass cls = new ManagementClass("Win32_StartupCommand"); ManagementObject
private List<StartupItems> getStartupItems()
{
try
{
ManagementClass cls = new ManagementClass("Win32_StartupCommand");
ManagementObjectCollection coll = cls.GetInstances();
List<StartupItems> items = new List<StartupItems>();
foreach (ManagementObject obj in coll)
{
items.Add(
new StartupItems
{
Command = obj["Command"].ToString(),
Description = obj["Description"].ToString(),
Name = obj["Name"].ToString(),
Location = obj["Location"].ToString(),
User = obj["User"].ToString()
});
}
return items;
}
catch (Exception ex)
{
_message = ex.ToString();
_status = false;
return null;
}
private List getStartupItems()
{
尝试
{
ManagementClass cls=新的ManagementClass(“Win32_StartupCommand”);
ManagementObjectCollection coll=cls.GetInstances();
列表项=新列表();
foreach(coll中的ManagementObject对象)
{
项目。添加(
新项目
{
Command=obj[“Command”].ToString(),
Description=obj[“Description”].ToString(),
Name=obj[“Name”].ToString(),
Location=obj[“Location”].ToString(),
User=obj[“User”].ToString()
});
}
退货项目;
}
捕获(例外情况除外)
{
_message=ex.ToString();
_状态=假;
返回null;
}
但是,所有这些都是使用我的用户名启用的项目。我试图获取的是所有项目,无论是我的用户名还是系统,所有启用的项目以及所有禁用的项目(就像msconfig).我已经做了大量的搜索,但找不到与我使用的有任何不同的内容。您考虑过直接从注册表中读取吗
另一种选择是在后台运行(它是autoruns的命令行版本)并读取其响应。您考虑过直接从注册表读取吗 另一种方法是在后台运行(它是autoruns的命令行版本)并读取其响应