On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
Администратор




Пост N: 341
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 18.10.06 15:08. Заголовок: Серийный номер


Как средствами winapi считать Mac-адрес сетевушки, серийный номер диска или еще что-нибудь подобное понятно для каких целей

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 35 , стр: 1 2 All [только новые]


администратор




Пост N: 1769
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.06.10 18:56. Заголовок: Andrey Налил сюда h..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1384
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.06.10 22:08. Заголовок: Уже понравилось !!! ..


Уже понравилось !!!
И как это раньше, без нее то жили ?

А как ты смотришь компы в сетке ?
Или ее (TeamViewer) на проблемном компе нужно запускать ?


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1770
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.06.10 22:17. Заголовок: Andrey пишет: Или е..


Andrey пишет:

 цитата:
Или ее (TeamViewer) на проблемном компе нужно запускать ?


Именно .
Поюзай с кем то , там все очевидно и просто.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 174
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 27.06.10 13:36. Заголовок: Особенно не обольщае..


Особенно не обольщаетесь. При интенсивном использовании TeamViewer вы получите предупреждение, о том что возможно комерческое использование программы и отключение.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1773
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.06.10 14:14. Заголовок: Vlad04 я юзаю ее го..


Vlad04
я юзаю ее год , но аккуратно , пока все работает отлично.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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 );
}





Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2813
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 30.03.13 16:09. Заголовок: Да можно и не причес..


Да можно и не причесывать, код рабочий, там только предупреждения.
Чтобы их убрать, достаточно заменить:

unsigned char ret[ 20 ] ={0};

на

char ret[ 20 ] ={0};


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2905
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.03.13 16:22. Заголовок: Pasha Да так зарабо..


Pasha
Да так заработало , спасибо.

ЗЫ
Через реестр определять MAC если больше одной сетевой голый номер

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2906
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.03.13 17:02. Заголовок: А какой функцией мож..


А какой функцией можно узнать букву системного диска ?

PS
Проехали GetEnv("SYSTEMDRIVE")

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4550
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.02.15 14:25. Заголовок: Dima пишет: HB_FUNC..


Dima пишет:

 цитата:
HB_FUNC(GETMACADDRESS)


Ранее все собиралось норм под 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'
Чего делать ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост 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

Не прокатит?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4553
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.02.15 21:16. Заголовок: Петр пишет: Не прок..


Петр пишет:

 цитата:
Не прокатит?


Нет , пробовал уже.
GETMACADDRESS выдаст 1 MAC адрес в случае с hb_socketGetIFaces( , .t. ) кучу , как и GETALLMACADDRESS

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1179
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 28.02.15 13:20. Заголовок: Dima пишет: Нет Во..


Dima пишет:

 цитата:
Нет



 цитата:
Возможно так



 цитата:
все чётко




Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 35 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 405
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет