怎么用c++调用wmi的方法,获得vista的启动项

zgcbj zgcbj 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
怎么用c++ 调用wmi的方法?获取win7和vista的启动项。已知:wmi的bcdobject类,用getelement
谢谢
相关c#代码如下
 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();
}
...全文

相关推荐

BurnCD xp vista com

**初始化COM库**:在C++代码中,使用CoInitialize(NULL)函数初始化COM环境。确保在程序结束时调用CoUninitialize()释放资源。2.

winbondowen

Windows原生UI自动化:用PowerShell和UIA构建AI Agent操作界面

GUI自动化是AI Agent实现真实桌面交互的核心能力,其本质在于对操作系统级可访问性接口的语义化调用。不同于基于像素坐标的模拟点击,现代方案需依托系统原生Accessibility API(如Windows UI Automation)实现控件发现、状态感知与行为触发。PowerShell作为Windows对象管道引擎,天然支持UIA COM/.NET集成,可绕过DPI缩放、多显示器、UAC等典型陷阱,提供比macOS AppleScript更底层、更稳定的企业级自动化能力。结合WSL2协同计算,Win

weixin_33957648

MSDN WMI Reference.pdf

### WMI C++应用程序示例文档中提供了使用C++开发WMI应用程序的多个示例,如调用提供者方法、异步获取本机和远程计算机的WMI数据、接收事件通知和创建WMI应用程序的示例代码。

kawhi-ewing

枚举计算机上进程,服务,账户,自启动项,共享等信息

另外,编程时可以调用Windows Management Instrumentation (WMI) 或者 Service Control Manager API来获取服务信息。

hello_symbol

获取系统信息(CPU、内存大小、操作系统版本及其他)

需要注意的是,在Windows Vista及以后的版本中,这个函数可能返回不准确的信息,因此可能需要使用WMI查询`Win32_OperatingSystem`类。

toshiba689
评论 3
收藏 已收藏
分享
返回顶部
zgcbj
ATL 3,248 成员 48,530 内容