Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: cheops (11.04.2007 в 20:06) Хм... не помню когда и откуда брал код, но в своих аналах обнаружил программу, которая получает MAC-адрес, используя для этого DLL-библиотеку iphlpapi.dll.
#include <windows.h> #include <iphlpapi.h> #include <stdio.h> int main() { // Указатель на функцию GetAdaptersInfo typedef DWORD(CALLBACK* PTR_GETADAPTERSINFO)(PIP_ADAPTER_INFO,PULONG); // Обращение iphlpapi.dll HINSTANCE iphlpapi; iphlpapi=LoadLibrary("iphlpapi.dll"); if(!iphlpapi) { printf ("iphlpapi.dll not found\n"); return (1); } PTR_GETADAPTERSINFO GetAdaptersInfo; GetAdaptersInfo = (PTR_GETADAPTERSINFO)GetProcAddress(iphlpapi, "GetAdaptersInfo"); ULONG adapter_info_size = 0; PIP_ADAPTER_INFO ptr_adapter_info = NULL; PIP_ADAPTER_INFO ptr_adapter_info_first = NULL; GetAdaptersInfo( ptr_adapter_info, &adapter_info_size ); ptr_adapter_info_first = ptr_adapter_info = (PIP_ADAPTER_INFO) new( char[adapter_info_size] ); if ( GetAdaptersInfo( ptr_adapter_info, &adapter_info_size ) != ERROR_SUCCESS) { printf( "Error while GetAdaptersInfo\n" ); delete( ptr_adapter_info ); return( 1 ); } while( ptr_adapter_info ) { printf ( "ID of adapter: %s\n", ptr_adapter_info->AdapterName ); printf ( "Description: %s\n", ptr_adapter_info->Description ); printf ( "MAC address: " ); for( char i=0; i < (int)ptr_adapter_info->AddressLength; i++) { printf ("%02x ", (unsigned char)ptr_adapter_info->Address[i]); } printf ("\n"); printf ("Adapter type: %u\n\n", ptr_adapter_info->Type ); ptr_adapter_info = ptr_adapter_info->Next; } delete( ptr_adapter_info_first ); char a = getchar(); return 0; }
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: