numbersir 发表于 2023-7-30 16:55:43

C/C++获得CPUID和系统盘序列号源码能翻译为火山代码吗

C/C++ 怎么最简单获得CPU ID 和 系统盘 序列号
希望有大佬能将两份源码翻译成火山代码并分享上来,谢谢!!:handshake


源码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("ProcessorId:%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 = "";
    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:17

源码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:09

你可以看下 硬件及键鼠和钩子操作库 这个库里面有硬件操作,可以看看有没有你想要的。

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

363832663 发表于 2023-7-31 14:18:02

自己下载看下对不对

numbersir 发表于 2023-7-31 14:46:39

363832663 发表于 2023-7-31 14:18
自己下载看下对不对

谢谢老师,有空我试一下

server 发表于 2023-7-31 20:54:14

<火山程序 类型 = "通常" 版本 = 1 />

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

numbersir 发表于 2023-7-31 23:37:02

复制过来的,c语言全看不懂
页: [1]
查看完整版本: C/C++获得CPUID和系统盘序列号源码能翻译为火山代码吗