Нежна помощь в программном отключении и потом включении LAN
От: bviktor  
Дата: 14.09.05 14:16
Оценка: :)
Подскажите пожалуйста как программно реализовать
отключение сети (LAN) на компьютере и потом включение.
Re: Нежна помощь в программном отключении и потом включении
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 14.09.05 14:27
Оценка: :)
Здравствуйте, bviktor, Вы писали:

B>Подскажите пожалуйста как программно реализовать

B>отключение сети (LAN) на компьютере и потом включение.

Грубо можно через ребут. А вот как нежно — не знаю
----------------------------------------------------------------------------------------------
Rentaguru
Re: Нежна помощь в программном отключении и потом включении
От: Deepest_Rabbit  
Дата: 14.09.05 14:30
Оценка:
Здравствуйте, bviktor, Вы писали:

B>Подскажите пожалуйста как программно реализовать

B>отключение сети (LAN) на компьютере и потом включение.

Например, так


#include "stdafx.h"

#include <Iptypes.h>
#include <Iprtrmib.h>
#include <Iphlpapi.h>

#include <conio.h>

int _tmain(int argc, _TCHAR* argv[])
{

   char              * buf;
   PIP_ADAPTER_INFO  pAdapterInfo;
   PIP_ADDR_STRING   pAddr; 
   DWORD             dwRet, dwSize = 0;
   MIB_IFROW         iface;

   if (GetAdaptersInfo(NULL, &dwSize) != ERROR_BUFFER_OVERFLOW) 
   {  
      std::cout << "GetAdaptersInfo fail." << std::endl;
      return -1;
   }

   buf = new char[dwSize];
   if (!buf)
   {
      std::cout << "Cant allocate memory." << std::endl;
      return -1;
   }
   pAdapterInfo = reinterpret_cast<PIP_ADAPTER_INFO>(buf);

   if (GetAdaptersInfo( pAdapterInfo, &dwSize) != ERROR_SUCCESS)
   {
      printf("Call to GetAdaptersInfo failed.\n");
      return -1;
   }

   while (pAdapterInfo)
   {
      pAddr = &pAdapterInfo->IpAddressList;
      std::cout << "Index : " << pAdapterInfo->Index << std::endl; 
      std::cout << "Name  : " << pAdapterInfo->Description << std::endl;
      while (pAddr)
      {
         std::cout << "IP: " << pAddr->IpAddress.String << std::endl;
         pAddr = pAddr->Next;
      }
      pAdapterInfo = pAdapterInfo->Next;
      std::cout << "-------------------------------------------------" << std::endl;

   }

   while (true)
   {
      std::string up_down;
      char h;
      std::cout << "Enter index : "; std::cin >> dwRet;
      std::cout << "Select action: [d]isable | [e]nable | e[x]it : ";
      std::cin >> h;

      ZeroMemory(&iface, sizeof(iface));
      iface.dwIndex = dwRet;
      if (h == 'd')
      {
         iface.dwAdminStatus = MIB_IF_ADMIN_STATUS_DOWN;
         up_down = "disabled!";
      }
      else if (h == 'e')
      {
         iface.dwAdminStatus = MIB_IF_ADMIN_STATUS_UP;
         up_down = "enabled!";
      }
      else 
      {
         delete [] buf;
         return 0;
      }
      dwRet = SetIfEntry(&iface);

      if (dwRet == 0)
      {
         std::cout << "Interface successfully " << up_down.c_str() << std::endl;
      }
      
   }
   delete [] buf;
   

}
Re: Нежна помощь в программном отключении и потом включении
От: gandalf_g Россия  
Дата: 14.09.05 14:30
Оценка:
Здравствуйте, bviktor, Вы писали:

B>Подскажите пожалуйста как программно реализовать

B>отключение сети (LAN) на компьютере и потом включение.

здесь
Автор: vasketsov
Дата: 03.12.02

здесь
Автор: butcher
Дата: 16.11.04
Have fun...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.