3,245
社区成员
发帖
与我相关
我的任务
分享
public void LoadAllOS()
{
List<string> lstOsName = new List<string>();
ConnectionOptions connectionOptions = new ConnectionOptions();
connectionOptions.Impersonation = ImpersonationLevel.Impersonate;
connectionOptions.EnablePrivileges = true;
ManagementScope managementScope = new ManagementScope(@"root\WMI", connectionOptions);
// SYSTEM STORE GUID = {9dea862c-5cdd-4e70-acc1-f32b344d4795}
systemObject = new BcdObject(managementScope, "{9dea862c-5cdd-4e70-acc1-f32b344d4795}", "");
ManagementBaseObject mboOut;
bool success = systemObject.GetElement((uint)BCDConstants.BcdBootMgrElementTypes.BcdBootMgrObjectList_DisplayOrder, out mboOut);
if (success)
{
string[] osIdList = (string[])mboOut.GetPropertyValue("Ids");
foreach (string osGuid in osIdList)
{
BcdObject osObj = new BcdObject(managementScope, osGuid, "");
success = osObj.GetElement((uint)BCDConstants.BcdLibraryElementTypes.BcdLibraryString_Description, out mboOut);
if (success)
{
OS myOS = new OS();
myOS.Name = mboOut.GetPropertyValue("String").ToString();
myOS.GUID = osGuid;
myOS.osObj = osObj;
// lstOS.Items.Add(myOS);
lstOsName.Add(myOS.Name.ToString());
Console.WriteLine(myOS.Name);
}
}
strOsName = lstOsName.ToArray();
}