好吧,我想我在这里有一个大脑放屁,无法找到我的出路。我想要完成的是列出所有启动项(应用程序,进程等)并将它们显示在表单上(就像你使用msconfig.exe获得的那样)。我认为这段代码可以做到:
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;
}
但所有获得的是使用我的用户名启用的。我想要的是所有项目,包括我的用户名或系统,所有已启用的项目以及所有已禁用的项目(就像msconfig一样)。我做了大量的搜索,找不到与我正在使用的任何不同的东西。