obsidian/笔记文件/2.笔记/Qt_Unity_PC_SDK总结_第四章.md
2025-03-26 00:02:56 +08:00

4.4 KiB
Raw Permalink Blame History

在wmic的项目pri文件中先加上include的相对路径

!Pasted image 20240802172401.png

然后,右键,开始添加,新文件

!Pasted image 20240802172505.png

选择

!Pasted image 20240802172540.png

命名WMIC即可

!Pasted image 20240803154722.png

头文件相关声明result函数是基于wmic命令行得到计算机硬件信息的相关结果而声明的fingerprint函数是设备指纹也就是每台设备的唯一标识 后续可以,用来做加密和通行证处理; UUID是识别码而OS相关是操作系统和版本信息

!Pasted image 20240802172719.png

GPU相关

!Pasted image 20240802173117.png

CPU和网卡相关

!Pasted image 20240802173132.png

磁盘相关,还有总物理内存

!Pasted image 20240802173149.png

来到cpp源文件include需要引用到的命名空间是跟进程管理相关 而result函数的实现新建一个QProcess然后开启wmic相关的指令只是修改后续的args参数进而获取到不同的计算机硬件信息

!Pasted image 20240802173305.png

而list的函数实现是可以支持wmic生成字符然后通过正则表达式相关去切割和生成list字符容器 后续磁盘信息获取,会使用到;

!Pasted image 20240802173722.png

举例说明打开windows的powershell控制台直接输入内置的shell指令敲击回车

 wmic CSPRODUCT get UUID

!Pasted image 20240802173450.png

是可以得到,对应计算机硬件信息的,详情参考Windows WMIC命令使用详解

!Pasted image 20240802173636.png

基于这个计算机的这个机制,实现其他功能逻辑; 获取UUIDOS系统相关的操作系统和版本信息

!Pasted image 20240802173845.png

GPU显卡相关

!Pasted image 20240802173935.png

!Pasted image 20240802174010.png

CPU相关

!Pasted image 20240802174029.png

!Pasted image 20240802174051.png

NIC网卡相关

!Pasted image 20240802174157.png

DISKDRIVE物理磁盘相关可以获取到磁盘的list字符队列信息

!Pasted image 20240802174241.png

!Pasted image 20240802174412.png

最后是计算机管理,总物理内存,还有设备指纹相关; 可以发现fingerprint 设备指纹相关是基于UUID 这个唯一ID进行MD5码的哈希转换得到的数值

!Pasted image 20240802174436.png

和WMIC类似在相同目录下也创建OpenSSL文件夹还有OpenSSL的pri子项目文件定义参考深入探索 OpenSSL概念、原理、开发步骤、使用方法、使用场景及代码示例

!Pasted image 20240803154903.png

然后,参考openssl功能整理完成oepnssl的工程引用目录如下 bin包含dll动态库文件lib文件夹包含运行时lib相关openssl文件夹中包含需要被引用的.h头文件

!Pasted image 20240803154959.png

!Pasted image 20240803155021.png

对应的pri子项目文件也是完成includepath引用相对路径的设置还有lib的引用关系bin文件夹中包含的动态库dll文件跟复制依赖库相关的

!Pasted image 20240803155107.png

回到dll.pro文件添加pri子项目引用保存修改等待编译完成

!Pasted image 20240803155445.png

然后回到OpenSSL子项目右键新建文件

!Pasted image 20240802184603.png

!Pasted image 20240802184617.png

!Pasted image 20240803155548.png

头文件主要是引用openssl库的头文件还有加解密相关的声明

!Pasted image 20240802184702.png

cpp源文件相关的include引用也是加密相关

!Pasted image 20240802184901.png

基于密钥encrypt加密函数的实现逻辑

!Pasted image 20240802185019.png

!Pasted image 20240802185113.png

也是基于密钥decrypt解密函数的实现

!Pasted image 20240802185150.png

!Pasted image 20240802185220.png

GetLastError函数错误码相关的实现暂时用不上

!Pasted image 20240802185520.png

Qt可以直接回到欢迎界面点击New创建新工程

!Pasted image 20240803105609.png

直接选一个窗体即可

!Pasted image 20240803105636.png

是data数据相关的命名为dllData

!Pasted image 20240803155832.png

!Pasted image 20240803155854.png

编译器选择64位即可

!Pasted image 20240803155915.png

!Pasted image 20240803155940.png