Автор | Сообщение |
|
| Администратор
|
Пост N: 341
Зарегистрирован: 23.05.05
|
|
Отправлено: 18.10.06 15:08. Заголовок: Серийный номер
Как средствами winapi считать Mac-адрес сетевушки, серийный номер диска или еще что-нибудь подобное понятно для каких целей
|
|
|
Ответов - 35
, стр:
1
2
All
[только новые]
|
|
|
| |
Пост N: 1769
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.06.10 18:56. Заголовок: Andrey Налил сюда h..
|
|
|
|
| постоянный участник
|
Пост N: 1384
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.06.10 22:08. Заголовок: Уже понравилось !!! ..
Уже понравилось !!! И как это раньше, без нее то жили ? А как ты смотришь компы в сетке ? Или ее (TeamViewer) на проблемном компе нужно запускать ?
|
|
|
|
| |
Пост N: 1770
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.06.10 22:17. Заголовок: Andrey пишет: Или е..
Andrey пишет: цитата: | Или ее (TeamViewer) на проблемном компе нужно запускать ? |
| Именно . Поюзай с кем то , там все очевидно и просто.
|
|
|
|
| постоянный участник
|
Пост N: 174
Зарегистрирован: 13.10.05
|
|
Отправлено: 27.06.10 13:36. Заголовок: Особенно не обольщае..
Особенно не обольщаетесь. При интенсивном использовании TeamViewer вы получите предупреждение, о том что возможно комерческое использование программы и отключение.
|
|
|
|
| |
Пост N: 1773
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.06.10 14:14. Заголовок: Vlad04 я юзаю ее го..
Vlad04 я юзаю ее год , но аккуратно , пока все работает отлично.
|
|
|
|
| |
Пост N: 2904
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.03.13 12:38. Заголовок: Помогите код причеса..
Помогите код причесать. Не собирается прога. 3 ошибки вида Mixing pointers to different 'char' types #include <Windows.h> #include <Iphlpapi.h> #include <Assert.h> #include "hbapi.h" #include "hbapiitm.h" HB_FUNC(GETMACADDRESS) { IP_ADAPTER_INFO AdapterInfo[16]; // Allocate information for up to 16 NICs DWORD dwBufLen = sizeof(AdapterInfo); // Save the memory size of buffer unsigned char ret[ 20 ] ={0}; DWORD dwStatus = GetAdaptersInfo( // Call GetAdapterInfo AdapterInfo, // [out] buffer to receive data &dwBufLen); // [in] size of receive data buffer PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo;// Contains pointer to current adapter info assert(dwStatus == ERROR_SUCCESS); // Verify return value is valid, no buffer overflow sprintf(ret,"%02X-%02X-%02X-%02X-%02X-%02X", pAdapterInfo->Address[0], pAdapterInfo->Address[1], pAdapterInfo->Address[2], pAdapterInfo->Address[3], pAdapterInfo->Address[4], pAdapterInfo->Address[5]); hb_retc(ret); } HB_FUNC(GETALLMACADDRESS) { IP_ADAPTER_INFO AdapterInfo[16]; // Allocate information for up to 16 NICs DWORD dwBufLen = sizeof(AdapterInfo); // Save the memory size of buffer unsigned char ret[ 20 ] ={0}; PHB_ITEM pArray; PHB_ITEM pItem; DWORD dwStatus = GetAdaptersInfo( // Call GetAdapterInfo AdapterInfo, // [out] buffer to receive data &dwBufLen); // [in] size of receive data buffer PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo;// Contains pointer to current adapter info pArray = hb_itemNew( NULL ); hb_arrayNew( pArray, 0 ); assert(dwStatus == ERROR_SUCCESS); // Verify return value is valid, no buffer overflow do { sprintf(ret,"%02X-%02X-%02X-%02X-%02X-%02X", pAdapterInfo->Address[0], pAdapterInfo->Address[1], pAdapterInfo->Address[2], pAdapterInfo->Address[3], pAdapterInfo->Address[4], pAdapterInfo->Address[5]); pItem = hb_itemPutC( NULL, ( char * ) ret ); hb_arrayAddForward( pArray, pItem ); hb_itemRelease( pItem ) ; pAdapterInfo = pAdapterInfo->Next; // Progress through linked list } while(pAdapterInfo); // Terminate if last adapter hb_itemReturnForward( pArray ); hb_itemRelease( pArray ); }
|
|
|
|
| Администратор
|
Пост N: 2813
Зарегистрирован: 23.05.05
|
|
Отправлено: 30.03.13 16:09. Заголовок: Да можно и не причес..
Да можно и не причесывать, код рабочий, там только предупреждения. Чтобы их убрать, достаточно заменить: unsigned char ret[ 20 ] ={0}; на char ret[ 20 ] ={0};
|
|
|
|
| |
Пост N: 2905
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.03.13 16:22. Заголовок: Pasha Да так зарабо..
Pasha Да так заработало , спасибо. ЗЫ Через реестр определять MAC если больше одной сетевой голый номер
|
|
|
|
| |
Пост N: 2906
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.03.13 17:02. Заголовок: А какой функцией мож..
А какой функцией можно узнать букву системного диска ? PS Проехали GetEnv("SYSTEMDRIVE")
|
|
|
|
| |
Пост N: 4550
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.02.15 14:25. Заголовок: Dima пишет: HB_FUNC..
Dima пишет: Ранее все собиралось норм под MingW gcc.exe (GCC) 4.7.2 Обновил версию MinGW gcc.exe (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 4.8.4 Собираться перестало . Валит ошибка netioapi.h:108:3: error: unknown type name 'ADDRESS_FAMILY' Чего делать ?
|
|
|
|
| постоянный участник
|
Пост N: 1178
Зарегистрирован: 09.10.06
|
|
Отправлено: 27.02.15 20:44. Заголовок: 2014-01-14 23:36 UTC..
2014-01-14 23:36 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * src/rtl/hbsocket.c + added support for returning NIC MAC address by hb_socketGetIFaces() in MS-Windows builds. To see physical device addresses bound with active IP interfaces use: #include "hbsocket.ch" PROCEDURE Main() LOCAL aIFace FOR EACH aIFace IN hb_socketGetIFaces( , .t. ) ? "IP:", aIFace[ HB_SOCKET_IFINFO_ADDR ], ; " MAC:", aIFace[ HB_SOCKET_IFINFO_HWADDR ] NEXT WAIT RETURN Не прокатит?
|
|
|
|
|
| |
Пост N: 4553
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.02.15 21:16. Заголовок: Петр пишет: Не прок..
Петр пишет: Нет , пробовал уже. GETMACADDRESS выдаст 1 MAC адрес в случае с hb_socketGetIFaces( , .t. ) кучу , как и GETALLMACADDRESS
|
|
|
|
| |
Пост N: 4554
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.02.15 22:27. Заголовок: Возможно так , но на..
Возможно так , но надо тестить. У меня работает. Proc main ? MY_GETMACADDRESS() return ************************** Func MY_GETMACADDRESS() #include "hbsocket.ch" local ret:="" local aIFace FOR EACH aIFace IN hb_socketGetIFaces() *? aIFace[ HB_SOCKET_IFINFO_ADDR ] *? aIFace[HB_SOCKET_IFINFO_HWADDR] *? aIFace[HB_SOCKET_IFINFO_FAMILY] *? aIFace[HB_SOCKET_IFINFO_FLAGS] *? aIFace[HB_SOCKET_IFINFO_NETMASK] *? aIFace[HB_SOCKET_IFINFO_BROADCAST] *? aIFace[HB_SOCKET_IFINFO_P2PADDR] *? "---------------------------------" if aIFace[HB_SOCKET_IFINFO_FLAGS]==19 // .and. aIFace[HB_SOCKET_IFINFO_P2PADDR]==nil // на всяк случай было ret:=aIFace[ HB_SOCKET_IFINFO_HWADDR ] endif NEXT return ret
|
|
|
|
| |
Пост N: 4555
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.02.15 23:17. Заголовок: Проверил на 5 машина..
Проверил на 5 машинах в сети , все чётко. Окончательный вариант вероятно такой. Proc main ? MY_GETMACADDRESS() wait return ************************** Func MY_GETMACADDRESS() #include "hbsocket.ch" local ret:="" local aIFace FOR EACH aIFace IN hb_socketGetIFaces() if aIFace[HB_SOCKET_IFINFO_FLAGS]==19 ret:=aIFace[ HB_SOCKET_IFINFO_HWADDR ] exit endif NEXT return charrepl(":",ret,"-") // charrepl что бы возврат совпал с предыдущей функцией определения MAC
|
|
|
|
| постоянный участник
|
Пост N: 1179
Зарегистрирован: 09.10.06
|
|
Отправлено: 28.02.15 13:20. Заголовок: Dima пишет: Нет Во..
Dima пишет:
|
|
|
Ответов - 35
, стр:
1
2
All
[только новые]
|
|