在Windows下,可以通过以下方法获取硬盘和网卡的序列号:

  1. 获取硬盘序列号:
#include <stdio.h>
#include <windows.h>

int main() {
    char volumeName[MAX_PATH + 1] = {0};
    char fileSystemName[MAX_PATH + 1] = {0};
    DWORD serialNumber = 0;
    DWORD maxComponentLen = 0;
    DWORD fileSystemFlags = 0;

    if (GetVolumeInformation("C:\\", volumeName, MAX_PATH + 1, &serialNumber, &maxComponentLen, &fileSystemFlags, fileSystemName, MAX_PATH + 1)) {
        printf("Hard Disk Serial Number: %lu\n", serialNumber);
    } else {
        printf("Failed to get hard disk serial number.\n");
    }

    return 0;
}
  1. 获取网卡序列号:
#include <stdio.h>
#include <windows.h>
#include <iphlpapi.h>

#pragma comment(lib, "iphlpapi.lib")

int main() {
    DWORD dwSize = 0;
    PIP_ADAPTER_INFO pAdapterInfo = NULL;
    PIP_ADAPTER_INFO pAdapter = NULL;

    if (GetAdaptersInfo(NULL, &dwSize) == ERROR_BUFFER_OVERFLOW) {
        pAdapterInfo = (PIP_ADAPTER_INFO)malloc(dwSize);
        if (pAdapterInfo == NULL) {
            printf("Failed to allocate memory.\n");
            return 1;
        }
    } else {
        printf("Failed to get adapter info size.\n");
        return 1;
    }

    if (GetAdaptersInfo(pAdapterInfo, &dwSize) == NO_ERROR) {
        pAdapter = pAdapterInfo;
        while (pAdapter != NULL) {
            printf("Adapter Description: %s\n", pAdapter->Description);
            printf("Adapter MAC Address: ");
            for (DWORD i = 0; i < pAdapter->AddressLength; i++) {
                if (i == (pAdapter->AddressLength - 1)) {
                    printf("%.2X\n", pAdapter->Address[i]);
                } else {
                    printf("%.2X-", pAdapter->Address[i]);
                }
            }
            pAdapter = pAdapter->Next;
        }
    } else {
        printf("Failed to get adapter info.\n");
    }

    if (pAdapterInfo != NULL) {
        free(pAdapterInfo);
    }

    return 0;
}

需要注意的是,以上代码需要链接iphlpapi.lib库,可以在代码中使用#pragma comment(lib, "iphlpapi.lib")来自动链接

Windows下C语言获取硬盘和网卡cpu序列号

原文地址: https://www.cveoy.top/t/topic/h4tJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录