Windows作業系統MAC位址獲取

2021-08-26 11:57:07 字數 2094 閱讀 2411

//#include "stdafx.h"

#include #include // api getadaptersinfo 標頭檔案

#include // api strcmpia 標頭檔案

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

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

#include // api stringcbprintfa 標頭檔案

#include // api lstrcpya 標頭檔案

#include #define max_size 50

#define buf_size 50

//// 功能:獲取介面卡特性

// 引數: 

//   adapter_name 介面卡 id

// 返回值:成功則返回由引數指定的介面卡的特性標誌,是乙個 dword 值,失敗返回 0

//uint getadaptercharacteristics(char* adapter_name)

", 0, key_read, &root))

return 0;

dword subkeys = 0;

// 獲取該鍵下的子鍵數

if (error_success != regqueryinfokeya(root, null, null, null, &subkeys, null, null, null, null, null, null, null))

subkeys = 100;

dword ret_value = 0;

for (dword i = 0; i < subkeys; i++)

// 對比該介面卡 id 是不是要獲取特性的介面卡 id

if (strcmpia(name, adapter_name) != 0)

// 讀取該介面卡的特性標誌,該標誌儲存於值 characteristics 中

dword val = 0;

size = 4;

lstatus ls = regqueryvalueexa(hkey, "characteristics", null, &type, (lpbyte)&val, &size);

regclosekey(hkey);

if (error_success == ls)

}regclosekey(root);

return ret_value;}//

// 引數:

//   mac 用於輸出 mac 位址的二進位制資料的緩衝區指標

//int getmac(byte mac[buf_size])

void* buffer = malloc(adapterinfosize);

if (buffer == null)

pip_adapter_info padapt = (pip_adapter_info)buffer;

if (error_success != getadaptersinfo(padapt, &adapterinfosize))

int mac_length = 0;

while (padapt)

padapt = padapt->next;

}free(buffer);

return mac_length;}//

// 引數:

//   mac 用於儲存 mac 位址的緩衝區指標

//void getmacaddress(char* mac)

if (len == 6)

stringcbprintfa(mac, buf_size, "%02x-%02x-%02x-%02x-%02x-%02x", buf[0], buf[1], buf[2], buf[3], buf[4], buf[5]);

else

stringcbprintfa(mac, buf_size, "%02x-%02x-%02x-%02x-%02x-%02x-%02x-%02x", buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6], buf[7]);

}int main()

注:本人編譯環境為:window10,visual studio2017

windows作業系統

1.檢視埠 netstat ano netstat ano find 2檢視程序 tasklist 3.刪除程序 tskill 4.開啟程序管理器 taskmgr 5.ping 6.ipconfig all 7.f 8 cd cd.9.mkdir rmdir linux rm rf 10.dir 列...

歷代Windows作業系統

1985 年windows 1.0 正式推出,相信一些老一輩計算機使用者應該熟悉吧?1987年10 月推出windows 2.0 比windows 1.0 版有了不少進步,但自身不完善,效果不好。1990年5 月windows 3.0 版推出,期間微軟繼 2.0後還有代號為 286 386兩款系統,...

Objective c 和 Mac作業系統

objective c看上去像是c語言,或者跟c語言有關,確實objective c是c語言的超集,對c語言進行了擴充套件,它在c語言的基礎上增加了物件導向的支援,同時增加了自己獨有的特性。因此,objective c是一門物件導向的程式語言,是開發iphone和ipad應用的程式語言,也是開發基於...