ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Получение Mac адреса. С++
  #1  
Старый 11.04.2007, 23:30
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


Cool Получение Mac адреса. С++

Недавно был спор о том как получить MAC адрес ...
На С++ , с помощью библиотеки 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;
}
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MAC filtering Dracula4ever Чужие Статьи 22 26.06.2007 17:25
Подмена Mac и Ip адреса ReVOLVeR Защита ОС: вирусы, антивирусы, файрволы. 19 04.01.2007 14:43
В Apple Mac OS устранены три опасные уязвимости system_32 Мировые новости 0 26.09.2006 08:44
Адреса socs прокси Болталка 0 10.01.2003 19:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ