//#include "stdafx.h"
#include #include #include #include #include #include #include #pragma comment(lib,"ws2_32.lib")
#pragma comment(lib,"netapi32.lib")
//unsigned int veax;
//unsigned int vebx;
//unsigned int vedx;
//unsigned int vecx;
unsigned char vendor_id="------------";
unsigned long s1,s2;
/*//執行cpuid指令
void cpuid(unsigned int veax1)
}//做移位操作,把暫存器中的ascii碼,以字元形式輸出
void leftmove(unsigned int var)
}//做移位操作,把暫存器中的值以「%c」形式輸出
void lm(unsigned int var)}*/
//得到cpu的生產廠商(當eax值為0時),依次存放在ebx,edx,ecx中
void getcpuname()
printf("cpu生產商: %s\n",vendor_id);
}//獲得cpu序列號,獲得序列號需要兩個步驟,首先用eax = 1做引數,返回的eax中儲存序列號的高兩個word。
//用eax = 3做引數,返回ecx和edx按從低位到高位的順序儲存前4個word。
void getcpuseris()
printf("cpuid: %08x%08x",s1,s2);
_asm
if(s1!=0)printf("%08x",s1);
if(s2!=0)printf("%08x",s2);
printf("\n");}/*
//獲取ip位址
void checkip(void)
} wsacleanup( );//清理socket }}
*///獲取mac位址
int getmac(char * mac)
astat, *pastat;
astat adapter;
typedef struct _lana_enum
lana_enum;
lana_enum lana_enum;
uchar uretcode;
memset(&ncb, 0, sizeof(ncb));
memset(&lana_enum, 0, sizeof(lana_enum));
ncb.ncb_command = ncbenum;
ncb.ncb_buffer = (unsigned char *)&lana_enum;
ncb.ncb_length = sizeof(lana_enum);
uretcode = netbios(&ncb);
if(uretcode != nrc_goodret)return uretcode;
for(lana=0;lana<(lana_enum.length);lana++)
if(uretcode != nrc_goodret)return uretcode;
memset(&ncb, 0, sizeof(ncb));
ncb.ncb_command = ncbastat;
ncb.ncb_lana_num = lana_enum.lana[0];
strcpy((char*)ncb.ncb_callname, "*");
ncb.ncb_buffer = (unsigned char *)&adapter;
ncb.ncb_length = sizeof(adapter);
uretcode = netbios(&ncb);
if(uretcode != nrc_goodret)
return uretcode;
sprintf(mac,"%02x-%02x-%02x-%02x-%02x-%02x",
adapter.adapt.adapter_address[0],
adapter.adapt.adapter_address[1],
adapter.adapt.adapter_address[2],
adapter.adapt.adapter_address[3],
adapter.adapt.adapter_address[4],
adapter.adapt.adapter_address[5]
); return 0;
}void main()
Windows下獲取CPU頻率
一直想在windows下取得cpu的時鐘速度,找了好久終於找到了函式callntpowerinformation,要想使用它,首先必須包含powrprof.h標頭檔案和鏈結庫powerprof.lib.但是還有幾個問題 首先powrprof.h和許多其它在platform sdk中的標頭檔案一樣依然...
Windows程式設計 獲取系統CPU 個數
隨著多核cpu的普及,程式中有必要考慮利用多核的優勢來提高效能。比如當建立執行緒池或者程序池的時候,可以根據系統cpu的個數來設定執行緒池 程序池的大小。以下 示例如何獲取cpu的個數。view plaincopy to clipboardprint?typedef void winapi pgns...
C 獲取CPU資訊
include windows.h include iostream include string using namespace std 用來儲存資訊 dword deax dword debx dword decx dword dedx void execpuid dword veax 初始化c...