获取系统信息学习
来源:互联网 发布:域名联想工具 编辑:程序博客网 时间:2024/04/27 14:13
DWORD dwEAX = 0;DWORD dwEBX = 0;DWORD dwECX = 0;DWORD dwEDX = 0;// 获取CPUID0_asm{mov eax, 0cpuidmov dwEAX, eaxmov dwEBX, ebxmov dwECX, ecxmov dwEDX, edx}printf("CPUID0:\r\nEAX = %p\r\n" "EBX = %p\r\n" "ECX = %p\r\n" "EDX = %p\r\n", dwEAX, dwEBX, dwECX, dwEDX);puts("");// 获取CPUID1_asm{mov eax, 1cpuidmov dwEAX, eaxmov dwEBX, ebxmov dwECX, ecxmov dwEDX, edx}printf("CPUID1:\r\nEAX = %p\r\n""EBX = %p\r\n""ECX = %p\r\n""EDX = %p\r\n",dwEAX, dwEBX, dwECX, dwEDX);puts("");// 参数1的结构体PIP_ADAPTER_INFO tag_AdapterInfo = new IP_ADAPTER_INFO[sizeof(IP_ADAPTER_INFO)];PIP_ADAPTER_INFO lpTemp = tag_AdapterInfo;// 参数2的大小ULONG lLen = sizeof(IP_ADAPTER_INFO);GetAdaptersInfo(tag_AdapterInfo, &lLen);GetAdaptersInfo(tag_AdapterInfo, &lLen);// 循环获取机器上的所有网卡信息.while(lpTemp){printf("MAC: %02x-%02x-%02x-%02x-%02x-%02x\r\n", lpTemp->Address[0], lpTemp->Address[1], lpTemp->Address[2], lpTemp->Address[3], lpTemp->Address[4], lpTemp->Address[5]);lpTemp = lpTemp->Next;}delete[] tag_AdapterInfo;puts("");/*LONG RegOpenKeyEx(HKEY hKey, // handle to open keyLPCTSTR lpSubKey, // subkey nameDWORD ulOptions, // reservedREGSAM samDesired, // security access maskPHKEY phkResult // handle to open key);*/HKEY hKey = NULL;RegOpenKeyEx(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System\\", 0, KEY_ALL_ACCESS, &hKey);/*LONG RegQueryValueEx(HKEY hKey, // handle to keyLPCTSTR lpValueName, // value nameLPDWORD lpReserved, // reservedLPDWORD lpType, // type bufferLPBYTE lpData, // data bufferLPDWORD lpcbData // size of data buffer);*/DWORD dwType = 0;BYTE szKeyValue[MAXBYTE] = {0};DWORD dwKeyValueLen = sizeof(szKeyValue);RegQueryValueEx(hKey, "SystemBiosVersion", NULL, &dwType, szKeyValue, &dwKeyValueLen);printf("Bios: %s", szKeyValue);puts("");system("pause");return 0;