Разрыв работающего соединения

 
0
 
.NET
ava
EuGenius_Krivbass | 06.01.2008, 00:51
Ситуация такова. Есть локальное подключение (сетка) и выход в инет(ADSL) - два разных подключения с разными айпишниками и т.д.
Как разорвать коннект с инетом?
Благодарю.
Comments (5)
ava
mr.DUDA | 06.01.2008, 03:36 #
EuGenius_Krivbass, если средствами C# то без изврата никак. Тема про подключение/отключение сетевого соединения программным способом поднималась несколько раз, попробуйте поискать по разделу. Вкратце, через WMI это сделать нельзя, можно через P/Invoke обращение к WinAPI (если не путаю).
ava
EuGenius_Krivbass | 06.01.2008, 11:57 #
Ничего на форуме не вижу подобного... ):
ava
mr.DUDA | 06.01.2008, 17:08 #
Хмм... Тогда вот пример. Я создал простое консольное приложение, добавил reference на COM-компоненту "Microsoft Shell Controls and Automation", написал следующий код:
using System;
using Shell32;

class Program
{
static void Main()
{
ShellClass shell = new ShellClass();
Folder folder = shell.NameSpace(3); // панель управления
foreach (FolderItem controlPanelItem in folder.Items())
{
string name = controlPanelItem.Name.ToLower();
if (name == "сетевые подключения")
{
Folder networkConnections = (Folder)controlPanelItem.GetFolder;
foreach (FolderItem2 networkConn in networkConnections.Items())
{
name = networkConn.Name.ToLower();
if (name == "подключение по локальной сети")
{
// первым всегда идёт "отключить"
FolderItemVerb verbDisable = networkConn.Verbs().Item(0);

// вырубаем его
verbDisable.DoIt();
}
}
}
}
}
}


Для англоязычной винды нужно вместо "сетевые подключения" сравнить с "network connections" (можно делать обе проверки, для русской и английской виндовс). Имя подключения также ставим по выбору.
ava
EuGenius_Krivbass | 06.01.2008, 18:17 #
Спасибо
ava
mr.DUDA | 06.01.2008, 18:42 #
Рад помочь.
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit