不使用 WMI 访问主板信息

2023-12-14

我需要在多个进程的应用程序中访问主板标识(序列号、制造商等)。我已经能够使用 WMI 成功查询此信息,但我正在寻找替代方案。

如果您想了解情况:

我的一些应用程序行为根据硬件配置或是否设置了特定环境变量(用于测试目的)而有所不同。

bool IsVideoCardDisplay = ( getenv("Z_VI_DISPLAY") || !QueryWmiForSpecialBoard() ) ? false : true;

设置环境变量后,不需要 WMI 查询 - 应用程序可以正常运行。但是,当环境变量不存在时,我的应用程序的某些组件在需要进行 WMI 查询时无法启动。我怀疑 WMI 调用可能会产生一些副作用(每个进程最多只发生一次。这就是我寻求替代方法的原因。


在 Vista+ 中您可以使用GetSystemFirmwareTable用于访问 SMBIOS 表并解析它们以获得[可能可用]序列号和其他标识字符串和值的 API。

特别是,您可以访问主板数据,包括供应商和序列号:

            Intel Corporation
            DZ77BH-55K
            AAG39018-400
            BQBH206600DT
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不使用 WMI 访问主板信息 的相关文章

  • 检测到 NuGet 包的版本冲突

    我正在开发 ASP Net core 2 1 Web 应用程序项目 我的解决方案中有 1 个项目和 3 个其他库 它是高级架构 数据访问层 DAL 业务层 BL 公共层 CL 所以我需要添加引用来连接一些库和项目 我已经添加了CL参考我的项
  • 将处理后的图形绘制到另一个图形中

    我想将一个经过处理的图形绘制到另一个图形中 I have two graphics var gHead Graphics FromImage h var gBackground Graphics FromImage b Transform
  • 捕获 foreach 条件中抛出的异常

    我有一个foreach在 foreach 本身的条件下循环期间中断的循环 有没有办法try catch抛出异常然后继续循环的项 这将运行几次 直到异常发生然后结束 try foreach b in bees exception is in
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • 为什么密码错误会导致“填充无效且无法删除”?

    我需要一些简单的字符串加密 所以我编写了以下代码 有很多 灵感 来自here http www codeproject com KB security DotNetCrypto aspx create and initialize a cr
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • 为什么 std::allocator 在 C++17 中丢失成员类型/函数?

    一边看着std 分配器 http en cppreference com w cpp memory allocator 我看到成员 value type pointer const pointer reference const refer
  • gdb 在 docker 上立即退出“进程已完成,退出代码 1”或 lldb“数据包返回错误 8”。另外:如何在 docker 中允许进行 C++ 调试

    这花了我一整天的时间才找到 所以我将其发布以供将来参考 我正在 docker 镜像上开发 C 我正在使用克利翁 我的代码是在调试模式下编译的 并且在运行模式下运行良好 但是当尝试调试时 进程会立即退出 并显示非常丰富的信息 Process
  • 为什么 FTPWebRequest 或 WebRequest 通常不接受 /../ 路径?

    我正在尝试从 ftp Web 服务器自动执行一些上传 下载任务 当我通过客户端甚至通过 Firefox 连接到服务器时 为了访问我的目录 我必须指定如下路径 ftp ftpserver com AB00000 incoming files
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 从匿名类型获取值

    我有一个方法如下 public void MyMethod object obj implement 我这样称呼它 MyMethod new myparam waoww 那么我该如何实施MyMethod 获取 myparam 值 Edit
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 我应该在应用程序退出之前运行 Dispose 吗?

    我应该在应用程序退出之前运行 Dispose 吗 例如 我创建了许多对象 其中一些对象具有事件订阅 var myObject new MyClass myObject OnEvent OnEventHandle 例如 在我的工作中 我应该使
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens

随机推荐

  • 如何退出独立模式或编辑器模式

    我在 Windows 10 64 位上使用 unity 5 4 1f1 Personal 我将解释我所做的所有步骤以及迄今为止我尝试过的所有事情 我第一次使用原始代码创建了一个新的 c 文件 现在 当我按 Escape 键时 它将返回编辑器
  • 内有较长任务的角间隔管道

    我的组件中有这段代码 ngOnInit this counterValue interval 1000 pipe switchMap gt this perfService getCounter this counterUrl map i
  • 为什么 $ra 被调用者保存在 RISC-V 中

    我发现在 RISC V 中 ra调用者是否已保存 以 MIPS 为单位 ra是被调用者 这意味着在 RISC V 中被调用者可以直接更改ra没有保存 但自从ra已经改变了 被调用者如何返回调用者 无论名称如何 RISC V ra 和 MIP
  • NSTimer 在 iPhone 中关闭应用程序后继续计数

    我有一个计时器 最多可以计时 8 小时 28800 秒 之后它应该被释放 我想知道如何让计时器在后台运行和 或在应用程序关闭时保持运行 这是 NSTimer stopWatchTimer NSTimer scheduledTimerWith
  • 如何在构建另一个容器期间填充 Mysql docker 容器?

    我正在尝试构建一个 docker compose 文件 该文件自动为我的应用程序构建一个容器和一个存储所有数据的 mysql 容器 在我的应用程序的 dockerfile 中 我有一个脚本 用于设置应用程序运行所需的所有数据库表和预设值 是
  • 将最近 7 天的 Windows 事件导出到 evt 文件

    很难相信我只花了一个小时在网上搜索 却找不到一个看似简单的请求的答案 我想要做的就是获取最近 7 天的 Windows 系统和应用程序事件 并将每个事件作为 evt 格式的文件导出到特定文件夹 所以不是 csv 或 xml 有没有一种简单的
  • 使用 AJAX - WooCommerce API 将变体添加到购物车?

    我有一个包含以下数据的项目 var item id 124 name xxx price 13 13 quantity 1 options size xl color pink 当用户单击 添加到购物车 时 我想使用 WC API 发出 A
  • 如果超过 12 列自动换行,我们真的需要关闭它吗?

    我已经使用 Bootstrap 一段时间了 特别是版本 3 并且注意到我仍然不确定是否应该始终在每 12 列之后关闭带有 row 类的列 或者我可以等待并在我的代码末尾应用该结束 row 只要据我所知 任何在单行中加起来超过 12 列的列都
  • 将 STUFF 与 INNER JOIN 查询结合使用

    我的数据库中有三个表 产品表 类型表和名为 Prod Type 的映射表 我的数据库是sql server 这就是为什么我不能使用group concat函数而我正在使用Stuff函数 我的表结构如下 产品表 Prod ID Name Br
  • Eclipse 构建路径不可用

    The build path option is not available when I right clicked on one of the the jars I wanted to include Anybody knows why
  • git 分支名称中的 Powershell 和德语变音符号

    我编写了一个批处理文件 它使用 powershell 命令删除除要保留的分支之外的所有本地 git 分支 如果分支名称中使用了德语变音符号 则不起作用 切换到分支 master 您的分支是最新的 origin master 已删除分支 DE
  • 如何使用 javascript 检索数组中 17 textBox 的值

    我写了下面的代码 太长了 我想要一些更短的代码 b 0 parseInt document getElementById textbox1 value b 1 parseInt document getElementById textbox
  • 从一个类访问另一个类的结构

    是否可以从另一个类访问结构 ex class A struct structOfClassA func returnLetterA gt String return a class B let classA A init classA st
  • 如何让 Gson 序列化基本名称值对列表?

    我正在尝试使用类型适配器和 Gson 序列化 BasicNameValuePairs 列表 ArrayList
  • 如何解码中文文本中的unicode

    with open result txt r as f data f read print What type is my data print type data for i in data print what is i print i
  • 重命名后Golang相对包导入

    我的 GOPATH 是 Users peter goworkspace 我当前的 golang 版本 go version go1 6 darwin amd64 我在这个工作区下有多个golang项目 所以这是目录结构 goworkspac
  • $(this) 和 this 位于点击事件中

    我有一个自己的 js 类 并尝试在点击事件中使用 jquery 的 this 和 object this jquery 的 this 工作正常 但对象 this 未定义 http jsfiddle net j33Fx 2 var mycla
  • Pandas:当条件和条件满足时找到最大值

    我有一个数据框 df id volume saturation time delay normalised speed BPR free speed BPR speed Volume time normalised 27WESTBOUND
  • asp.net mvc视图页面上可以有webform控件吗?

    asp net mvc视图页面上可以有webform控件吗 我想我之前读过它 但我不确定它是如何工作的 因为 MVC 不使用视图状态等 可以 但是 Viewstate 不可用 因此 如果控件依赖于视图状态 则可能会出现故障 此外 事件也不会
  • 不使用 WMI 访问主板信息

    我需要在多个进程的应用程序中访问主板标识 序列号 制造商等 我已经能够使用 WMI 成功查询此信息 但我正在寻找替代方案 如果您想了解情况 我的一些应用程序行为根据硬件配置或是否设置了特定环境变量 用于测试目的 而有所不同 bool IsV