火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 408|回复: 9

[类库封装] 谁帮我用C++写一个例子 付费

[复制链接]

5

主题

29

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2024-2-7 11:40:25 | 显示全部楼层 |阅读模式
取BIOS信息  制造商   序列号  发布日期  版本
回复

使用道具 举报

45

主题

191

帖子

1171

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1171
发表于 2024-2-7 12:15:15 | 显示全部楼层
这不是挺简单的吗?
回复

使用道具 举报

5

主题

29

帖子

122

积分

注册会员

Rank: 2

积分
122
 楼主| 发表于 2024-2-7 13:06:57 | 显示全部楼层
xuezhq 发表于 2024-2-7 12:15
这不是挺简单的吗?

关键我不会呀Q332452295

回复

使用道具 举报

359

主题

2185

帖子

7033

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7033
发表于 2024-2-7 13:23:26 来自手机 | 显示全部楼层
火山貌似已经有了官方库获取硬件信息,下载最新火山找找
回复

使用道具 举报

5

主题

29

帖子

122

积分

注册会员

Rank: 2

积分
122
 楼主| 发表于 2024-2-7 13:49:31 | 显示全部楼层
shuimiao 发表于 2024-2-7 13:23
火山貌似已经有了官方库获取硬件信息,下载最新火山找找

我要c++写的哦
回复

使用道具 举报

42

主题

290

帖子

3025

积分

论坛元老

Rank: 8Rank: 8

积分
3025
发表于 2024-2-7 16:38:23 | 显示全部楼层
火山的源码就是c++
回复

使用道具 举报

28

主题

317

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2024-2-7 19:12:11 | 显示全部楼层
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <string>

  4. int main() {
  5.     DWORD bufferSize = 0;
  6.     BYTE* buffer = nullptr;
  7.     DWORD dataType = 0;
  8.     std::string biosInfo;

  9.     // 获取缓冲区大小
  10.     if (GetSystemFirmwareTable(FirmwareTableProviderSignature, FirmwareTableID, 0, &bufferSize) != ERROR_INSUFFICIENT_BUFFER) {
  11.         std::cerr << "无法获取缓冲区大小" << std::endl;
  12.         return 1;
  13.     }

  14.     // 分配缓冲区
  15.     buffer = new BYTE[bufferSize];

  16.     // 获取BIOS信息
  17.     if (GetSystemFirmwareTable(FirmwareTableProviderSignature, FirmwareTableID, buffer, &bufferSize) == ERROR_SUCCESS) {
  18.         // 解析BIOS信息
  19.         for (DWORD i = 0; i < bufferSize; i++) {
  20.             switch (dataType) {
  21.                 case 0: // 制造商
  22.                     if (buffer[i] == 0) {
  23.                         dataType = 1;
  24.                     } else {
  25.                         biosInfo += static_cast<char>(buffer[i]);
  26.                     }
  27.                     break;
  28.                 case 1: // 序列号
  29.                     if (buffer[i] == 0) {
  30.                         dataType = 2;
  31.                     } else {
  32.                         biosInfo += static_cast<char>(buffer[i]);
  33.                     }
  34.                     break;
  35.                 case 2: // 发布日期
  36.                     if (buffer[i] == 0) {
  37.                         dataType = 3;
  38.                     } else {
  39.                         biosInfo += static_cast<char>(buffer[i]);
  40.                     }
  41.                     break;
  42.                 case 3: // 版本
  43.                     if (buffer[i] == 0) {
  44.                         dataType = 4;
  45.                     } else {
  46.                         biosInfo += static_cast<char>(buffer[i]);
  47.                     }
  48.                     break;
  49.             }
  50.         }
  51.     } else {
  52.         std::cerr << "无法获取BIOS信息" << std::endl;
  53.         delete[] buffer;
  54.         return 1;
  55.     }

  56.     // 输出BIOS信息
  57.     std::cout << "制造商: " << biosInfo.substr(0, biosInfo.find('\0')) << std::endl;
  58.     std::cout << "序列号: " << biosInfo.substr(biosInfo.find('\0') + 1, biosInfo.find('\0', biosInfo.find('\0') + 1)) << std::endl;
  59.     std::cout << "发布日期: " << biosInfo.substr(biosInfo.find('\0', biosInfo.find('\0') + 1) + 1, biosInfo.find('\0', biosInfo.find('\0', biosInfo.find('\0') + 1) + 1)) << std::endl;
  60.     std::cout << "版本: " << biosInfo.substr(biosInfo.find('\0', biosInfo.find('\0', biosInfo.find('\0') + 1) + 1) + 1) << std::endl;

  61.     // 释放缓冲区
  62.     delete[] buffer;

  63.     return 0;
  64. }
复制代码
Q 75520266
回复

使用道具 举报

2

主题

107

帖子

1490

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1490
发表于 2024-2-7 20:16:09 | 显示全部楼层
直接@就能运行
回复

使用道具 举报

8

主题

50

帖子

451

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
451
发表于 2024-2-8 06:05:02 | 显示全部楼层
这种简单有的裤就不好封装
回复

使用道具 举报

0

主题

14

帖子

94

积分

注册会员

Rank: 2

积分
94
发表于 2024-2-8 15:51:45 | 显示全部楼层
现在流行AI写代码,找GPT、通义千问、文心一言等等,让AI写代码然后自己再稍微修改就行了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-2-23 08:34 , Processed in 0.099793 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表