Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

"Исправить" сетевое подключение. [D7, WinXP]


Cryxalis ©   (2009-06-08 21:18:00) 

Добрый день господа програмёры. Проблема заключается в следующем: необходимо "исправить" сетевое подключение.
как в windows подключение -> "испрвить".
нижний вариант не предлагать:
ipconfig /release <имя сетевого подключения>


Cryxalis   (2009-06-09 19:06:00) [1]

ыыы проблема решена.
http://forum.vingrad.ru/topic-72772.html


Cryxalis   (2009-06-09 13:58:00) [2]

Нашёл процедуру с использованием jedi-библиотеки.

procedure EnableNetDevice(aState:boolean;index:integer);
var
 NetPnPHandle:HDEVINFO;
 PCHP:TSPPropChangeParams;
 DeviceData:TSPDevInfoData;
begin
 NetPnPHandle:=SetupDiGetClassDevs(@GUID_DEVCLASS_NET, 0, 0, DIGCF_PRESENT);
 if NetPnPHandle=INVALID_HANDLE_VALUE then exit;
 DeviceData.cbSize:=sizeof(TSPDevInfoData);
 SetupDiEnumDeviceInfo(NetPnPHandle, index, DeviceData);
 PCHP.ClassInstallHeader.cbSize:=sizeof(TSPClassInstallHeader);
 if SetupDiSetClassInstallParams(NetPnPHandle,@DeviceData,@PCHP,sizeof(TSPPropChange Params)) then
begin
  PCHP.ClassInstallHeader.cbSize := sizeof(TSPClassInstallHeader);
  PCHP.ClassInstallHeader.InstallFunction := DIF_PROPERTYCHANGE;
  PCHP.Scope := DICS_FLAG_CONFIGSPECIFIC;
if aState then
  PCHP.StateChange := DICS_ENABLE
  else
  PCHP.StateChange := DICS_DISABLE;
SetupDiSetClassInstallParams(NetPnPHandle,@DeviceData,@PCHP,sizeof(TSPPropChange Params));
SetupDiCallClassInstaller(DIF_PROPERTYCHANGE,NetPnPHandle,@DeviceData);
 end;
 DeviceData.cbSize := sizeof(TSPDevInfoData);
 SetupDiDestroyDeviceInfoList(NetPnPHandle);
end;

Но при компиляции делфи выдаёт ошибку, что он хз чё такое  GUID_DEVCLASS_NET =(


Cryxalis   (2009-06-09 11:39:00) [3]

хотя погодь)) чёто IP не обновляется =)
тему следует перенести в раздел "железо" .
к сожалению я не правильно задал вопрос, и после некоторых исследований сделал вывод, что требуется через консоль windows или delphi отключить указаный девайс( сетевую карту) и через некоторое время включить его =).
Есть у кого какие идеи?


Cryxalis   (2009-06-09 08:43:00) [4]

как брутально =)))
ну лан спс=)


DVM   (2009-06-09 01:18:00) [5]


> ipconfig /release <имя сетевого подключения>

тогда:
netsh winsock reset  :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо