递归火山软件开发平台

标题: C/C++获得CPUID和系统盘序列号源码能翻译为火山代码吗 [打印本页]

作者: numbersir    时间: 2023-7-30 16:55
标题: C/C++获得CPUID和系统盘序列号源码能翻译为火山代码吗
C/C++ 怎么最简单获得CPU ID 和 系统盘 序列号
希望有大佬能将两份源码翻译成火山代码并分享上来,谢谢!!


源码1:-------------------------------------------------------------------
#include <stdio.h>
#include <windows.h>
#include <cpuid.h>
int main()
{
    unsigned int eax = 0, ebx = 0, ecx = 0, edx = 0;
    __cpuid(1, eax, ebx, ecx, edx);
    printf("rocessorId:  %08X%08X\n", edx, eax); // cpuid 格式同 wmic cpu get processorid
    printf("CPU Features: %08X-%08X-%08X-%08X\n", eax, ebx, ecx, edx);

    DWORD serial_number = 0;
    char file_system_name[MAX_PATH + 1] = "";
    if (GetVolumeInformation("C:\\", NULL, MAX_PATH + 1, &serial_number,
                             NULL, NULL, file_system_name, MAX_PATH + 1))
        printf("Hard Disk ID: %08X\t%s\n", serial_number, file_system_name);
    else
        perror("GetVolumeInformation");
}


源码2:-------------------------------------------------------------------
#include <windows.h>#include <stdio.h>int main(){    UUID uuid;    UuidCreate(&uuid);   // 使用 Windows API 中的 UuidCreate() 函数来生成 UUID //  UUID: 07e4bca4-61f2-4485-aed2-9fea6de42d48    // 需要链接库 librpcrt4.a    char *uuid_str;    UuidToStringA(&uuid, (RPC_CSTR*)&uuid_str);   // 为 UUID 字符串分配动态内存    printf("UUID: %s\n", uuid_str);    RpcStringFreeA((RPC_CSTR*)&uuid_str);         // 释放 UUID 字符串动态内存    return 0;}

转自吾爱论坛


作者: numbersir    时间: 2023-7-30 16:58
源码2:-------------------------------------------------------------------
#include <windows.h>
#include <stdio.h>
int main()
{
    UUID uuid;
    UuidCreate(&uuid);   // 使用 Windows API 中的 UuidCreate() 函数来生成 UUID

//  UUID: 07e4bca4-61f2-4485-aed2-9fea6de42d48    // 需要链接库 librpcrt4.a
    char *uuid_str;
    UuidToStringA(&uuid, (RPC_CSTR*)&uuid_str);   // 为 UUID 字符串分配动态内存
    printf("UUID: %s\n", uuid_str);
    RpcStringFreeA((RPC_CSTR*)&uuid_str);         // 释放 UUID 字符串动态内存
    return 0;
}
作者: 创世魂    时间: 2023-7-31 09:18
你可以看下 硬件及键鼠和钩子操作库 这个库里面有硬件操作,可以看看有没有你想要的。

如果有现成的就没必要费劲封了

作者: 363832663    时间: 2023-7-31 14:18
自己下载看下对不对 (, 下载次数: 22)

作者: numbersir    时间: 2023-7-31 14:46
363832663 发表于 2023-7-31 14:18
自己下载看下对不对

谢谢老师,有空我试一下
作者: server    时间: 2023-7-31 20:54
<火山程序 类型 = "通常" 版本 = 1 />

变量 eax <类型 = "整数[4]">
// __MACHINEX86_X64(void __cpuid(int[4], int))
// 你帖的参数不对
@ __cpuid(@<eax>,1);
调试输出 (eax [0], eax [1], eax [2], eax [3])

作者: numbersir    时间: 2023-7-31 23:37
复制过来的,c语言全看不懂




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4