#include <windows.h>
#include <iphlpapi.h>
#include <stdio.h>
#pragma comment(lib, "iphlpapi")
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
MIB_IFTABLE mit[10];
ULONG mitSize = sizeof(mit);
GetIfTable(mit, &mitSize, TRUE);
for(DWORD i=0; i<mit[0].dwNumEntries; i++)
{
if(mit[0].table.dwType == MIB_IF_TYPE_ETHERNET) // :)
{
// Format physical address
char macStr[30];
for (DWORD j = 0 ; j < mit[0].table.dwPhysAddrLen ; ++j)
sprintf( &macStr[j*3], "%02X-", mit[0].table.bPhysAddr[j] );
macStr[j*3-1] = '\0';
mit[0].table.bDescr[mit[0].table.dwDescrLen]='\0';
char result[128];
sprintf(result, "Interface: %s, MAC: %s\n", mit[0].table.bDescr, &macStr[0]);
MessageBox(0 , result, "", MB_OK);
}
}
return 0;
}
как узнать MAC'и локальных сетевушек?
программно..и еще в винде можно ставить мак, желательно узнать именно с сетевухи а не из системы, хотя из системы тож пойдет...СПАСИБО за помощь...
какой же он нафиг тогда уникальный номер сетевой карты, если его "еще в винде можно ставить", вы батенька путаете что-то... в винде вы можете выставить IP адрес, но явно не мак...
а кто сказал, что он уникальный? MAC можно поменять без проблем. только обычно этого делать не нужно.
зайди в диспетчер устройств и поковыряйся в настройках сетевухи и приятно удивишься:)
http://search.msdn.microsoft.com/search/default.aspx?__VIEWSTATE=&query=MAC+address&siteid=0&tab=0
выбирай любую функцию[/QUOTE]
мнеб желательно под Visual C++, а там под .NET/хотелось бы без него...
[QUOTE=squirL]
выбирай любую функцию[/QUOTE]
мнеб желательно под Visual C++, а там под .NET/хотелось бы без него...
Код:
Также можно узнать входящий/исходящий траф и скорость подключения.
Есть еще несколько способов узнать MAC - через NetBIOS, и через функцию GetAdaptersInfo, но этот выглядит проще и элегантнее :)
а где достать iphlpapi.h и iphlpapi.lib?
Этот пример свободно компилируется под Visual C++ 6.0 или 7.0) iphlpapi.h и iphlpapi.lib имеются там как стандартные. На Builder'e я ничего не пишу, но проверил - эти файлы есть и там) На чём же ты пишешь, GLAGOLA? =)