Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.27;
Скачать: CL | DM;

Вниз

MAC при отключении из сети   Найти похожие ветки 

 
Akim2   (2003-08-29 15:34) [0]

А правда ли, что при отключении компа от хаба/свитча, не прочитывается MAC адрес сетевой платы?


 
Udjin ©   (2003-08-29 15:57) [1]

нет


 
Akim2   (2003-08-29 16:13) [2]

А подскажите, как прочитать MAC адрес платы? Я пробую через NetBios, и сталкиваюсь с subj


 
Е-Моё имя ©   (2003-08-29 18:39) [3]

лоб в лоб?
с чем ты там сталкиваешься, пиши понятней


 
^^^Dragon^^^   (2003-08-29 21:53) [4]

В Дельфи не знаю, а в Винде:
для 98: Выполнить->cmd->ipconfig /all
для NT/2000: Выполнить->winipcfg


 
Ecx   (2003-08-29 23:00) [5]

>^^^Dragon^^^
>для 98: Выполнить->cmd->ipconfig /all
>для NT/2000: Выполнить->winipcfg

для NT/2000 ipconfig /all !!!!
winipcfg насколько я помню только для 95


 
^^^Dragon^^^   (2003-08-30 22:49) [6]

ССССССООООРРРРРИИИИИИИ!!!!!! Я все перепутал. ВСЕ наооборот

для NT/2000: Выполнить->cmd->ipconfig /all
для 95/98: Выполнить->winipcfg

Вот подробнее (по крайней мере, для 2000/NT/XP):

//из хелпа командной строки

ИСПОЛЬЗОВАНИЕ:
ipconfig [/? | /all | /release [адаптер] | /renew [адаптер]
| /flushdns | /registerdns | /showclassid адаптер
| /setclassid адаптер [устанавливаемый_код_класса_dhcp] ]

адаптер Полное имя или имя, содержащие подстановочные знаки "*" и "?" из
допустимого множества:
* - любое количество символов, ? - один любой символ.
ключи:
/? Отобразить это справочное сообщение.
/all Отобразить полную информацию о настройке параметров.
/release Освободить IP-адрес для указанного адаптера.
/renew Обновить IP-адрес для указанного адаптера.
/flushdns Очистить кэш разрешений DNS.
/registerdns Обновить все DHCP-аренды и перерегистрировать DNS-имена
/displaydns Отобразить содержимое кэша разрешений DNS.
/showclassid Отобразить все допустимые для этого адаптера коды (IDs)
классов DHCP.
/setclassid Изменить код класса DHCP (ID).

По умолчанию отображается только IP-адрес, маска подсети и стандартный шлюз
для каждого подключенного адаптера, для которого выполнена привязка с
TCP/IP.

Для ключей /Release и /Renew, если не указано имя адаптера, то будет
освобожден или обновлен IP-адрес, выданный для всех адаптеров,
для которых существуют привязки с TCP/IP.

Для ключа SetClassID, если не указан код класса (ID),
то существующий код класса будет удален.

Примеры:
> ipconfig - Отображает краткую информацию.
> ipconfig /all - Отображает полную информацию.
> ipconfig /renew - Обновляет сведения для всех адаптеров.
> ipconfig /renew EL* - Обновляет сведения для адаптеров,
начинающихся с EL....
> ipconfig /release *ELINK?21* - Освобождает IP-адреса для всех адаптеров,

удовлетворяющих запросу, например, ELINK-21, myELELINKi21adapter.


 
Rouse_ ©   (2003-08-31 00:22) [7]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, NB30;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function GetMACAdress:String;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.GetMACAdress:String;
var
NCB : PNCB;
Adapter: PAdapterStatus;
URetCode: Pchar;
RetCode: char;
I: Integer;
Lenum: PlanaEnum;
_SystemID: String;
TMPSTR: String;
begin
Result:="";
_SystemID:="";
Getmem(NCB,sizeof(TNCB));
Fillchar(NCB^,Sizeof(TNCB),0);
Getmem(Lenum,sizeof(TLanaEnum));
Fillchar(Lenum^,Sizeof(TLanaEnum),0);
Getmem(Adapter,sizeof(TAdapterStatus));
Fillchar(Adapter^,Sizeof(TAdapterStatus),0);
Lenum.Length:=chr(0);
NCB.ncb_command:=chr(NCBENUM);
NCB.ncb_buffer:=pointer(Lenum);
NCB.ncb_length:=sizeof(Lenum);
RetCode:=Netbios(NCB);
i:=0;
repeat
Fillchar(NCB^,Sizeof(TNCB),0);
Ncb.ncb_command:= chr(NCBRESET);
Ncb.ncb_lana_num:=lenum.lana[I];
RetCode:= Netbios(Ncb);
Fillchar(NCB^,Sizeof(TNCB),0);
Ncb.ncb_command:= chr(NCBASTAT);
Ncb.ncb_lana_num:= lenum.lana[I];
Ncb.ncb_callname:="* ";
Ncb.ncb_buffer:=pointer(Adapter);
Ncb.ncb_length:=sizeof(TAdapterStatus);
RetCode:= Netbios(Ncb);
if (RetCode=chr(0)) or (RetCode=chr(6)) then begin
_SystemId:=SysUtils.inttohex(ord(Adapter.adapter_address[0]),2)+"-"+
SysUtils.inttohex(ord(Adapter.adapter_address[1]),2)+"-"+
SysUtils.inttohex(ord(Adapter.adapter_address[2]),2)+"-"+
SysUtils.inttohex(ord(Adapter.adapter_address[3]),2)+"-"+
SysUtils.inttohex(ord(Adapter.adapter_address[4]),2)+"-"+
SysUtils.inttohex(ord(Adapter.adapter_address[5]),2);
end;
inc(i);
until (I>=ord(Lenum.length)) or (_SystemID<>"00-00-00-00-00-00");
FreeMem(NCB);
FreeMem(Adapter);
FreeMem(Lenum);
GetMacAdress:=_SystemID;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Caption := GetMACAdress;
end;

end.


Желаю успехов


 
Akim2   (2003-09-01 15:27) [8]

Люди, все хорошо и нормально,

Но даже используя ipconfig я не могу увидеть адаптеры, если комп отключен от сети. Вопрос почему, плата ведь установлена и MAC вшить в плату??? Так почему я не могу его видет? Почему, его видит программа, кот идет с платой на дискетке не зависимо от того подключен комп или нет к сети?

Таже история и с
> Rouse_ ©



Страницы: 1 вся ветка

Текущий архив: 2003.10.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
14-89481
Knight
2003-10-06 23:53
2003.10.27
Первая сотня!!!


1-89344
Виталя
2003-10-16 10:24
2003.10.27
Как сделать фон иконки формы прозрачной ?


7-89624
Александр2030
2003-08-15 13:17
2003.10.27
Картинка


9-89089
x_michael
2003-04-22 02:06
2003.10.27
DXSpriteEngine и прозрачность входящих туда Sprites


14-89567
Knight
2003-10-07 16:07
2003.10.27
Ну вот отпуск закончился...