IP Config собственными руками
Xakep, номер #045, стр. 045-060-2 После этого я выделяю память для структуры pFixedInfo типа PFIXED_INFO, куда мы будем записывать инфу. Память нужно выделить в том количестве, которое мы получили после вызова GetNetworkParams. Далее я снова вызываю GetNetworkParams, только теперь в качестве первого параметра я указываю структуру, куда будет записана вся необходимая инфа. Вся инфа, как на ладони В принципе, все необходимое мы получили, и оно находится в структуре pFixedInfo. Так что остается только рассмотреть ее: 1. pFixedInfo.HostName - имя хоста (твоего компа); 2. pFixedInfo.DnsServerList.IpAddress - адрес DNS сервера. Если такой сервер не один, то нужно вызвать pFixedInfo.DnsServerList.Next, чтобы получить доступ к следующему. В качестве результата после вызова Next нам вернется переменная типа PIP_ADDR_STRING, через которую и можно получить следующий адрес DNS сервера. В общем случае код будет выглядеть так: pAddrStr:=pFixedInfo.DnsServerList.Next; while (pAddrStr<>nil) do begin pAddrStr.IpAddress.S - здесь находится следующий адрес pAddrStr:=pAddrStr.Next - получить еще адрес, если есть end; 3. pFixedInfo.NodeType - тип узла. Здесь хранится целое число. Если оно равно 1, то значит тип узла "Broadcast", 2 - "Peer to peer", 4 - "Mixed", 8 - "Hybrid". 4. pFixedInfo.ScopeId - идентификатор NetBIOS (NetBIOS Scope ID). 5. pFixedInfo.EnableRouting - включена ли маршрутизация IP. Если здесь true, то маршрутизацию включена, иначе отключена. 6. pFixedInfo.EnableProxy - включен ли WINS проксик. Если здесь true, то проксик включен, иначе отключен. Вот и все. Достаточно только вызвать одну процедуру, и ты уже знаешь так много интересного о компе, с которого запущена твоя прога. Disconnect Вызов функции GetIPInfo можно также засунуть и по событию OnShow для главной формы, чтобы информация обновлялась и при старте программы. В этом случае, сразу после запуска, вся необходимая инфа уже будет находиться на своем месте. На этом я спешу распрощаться до следующего номера ][, где мы разберемся, как заполнить вторую страничку нашей проги. В ней будет показано, как получить текущий IP адрес твоей машины, маску сети, адреса различных серверов (DHCP, WINS) и многое другое. Тебе нужно всего лишь подождать один месяц или где-то 30 дней. Ну вот и все. Удачи!!! P.S.У меня к тебе просьба, на сто баксов :). Не пиши мне большие письма. После появления рубрики "Кодинг" меня каждый день валят вопросами. Я не в состоянии всем рассказывать то, о чем пишут книги. Я могу что-то подсказать, где-то помочь, но не больше. А просьбы типа помоги написать прогу вообще нереальны. Я отвечаю только на те вопросы, где ответ займет несколько строчек. Целые лекции по мылу я разводить не могу. Я бы с удовольствием помог всем, но это НЕВОЗМОЖНО. Вас слишком много, а я один :(((. Поэтому лучше разбей свой вопрос на несколько маленьких и спрашивай постепенно, а не все сразу. |