我需要在多个进程的应用程序中访问主板标识(序列号、制造商等)。 我已经能够使用 WMI 成功查询这个,但我正在寻找替代方案。
如果您想知道情况:
我有一些不同的应用程序行为,具体取决于硬件配置,或者是否设置了特定的环境变量(用于测试目的)。
bool IsVideoCardDisplay = ( getenv("Z_VI_DISPLAY") || !QueryWmiForSpecialBoard() ) ? false : true;
设置环境变量后,不需要 WMI 查询——应用程序运行良好。但是,当环境变量不存在时,我的应用程序的某些组件在需要进行 WMI 查询时无法启动。我怀疑 WMI 调用可能会有一些副作用(每个进程最多只发生一次。这就是我寻求替代方法的原因。