Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,420

Приложение для настройки сети

26.12.2018, 11:29. Показов 2851. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Появилось нужда добавить в приложение возможность настраивать сеть. Ну т.е. надо создать полную копию вот этих настроек, кроме самой нижней галочки (приложил скрин). Примеры в интернете есть, но всё по частям, что-то работает не совсем так как надо, что-то вообще не работает. В общем, сделать сам очень даже могу, но это долго, не слишком интересно и чревато пачками багов, которые ещё и не сразу вскроются. А потому спрашиваю: Есть у кого уже готовый вариант? Совершенно не обязательно, чтобы на форме, мне главное рабочий код для смены настроек.
Миниатюры
Приложение для настройки сети  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.12.2018, 11:29
Ответы с готовыми решениями:

Приложение для передачи файлов по сети
Доброго времени суток всем!!! Я тут новенький да и в программировании тоже. Меня собственно говоря интересует, как написать приложение...

настройки сети для 1с 7.7
Плиз, напишите настройки сетки. Всё ужасно тормозит. Документы открываются по полчаса.

Программа для настройки сети
Всем хай! Для упрощения настройки интернета решил написать программу, которая открывает три командных строки и в одной пингует роутер, в...

35
.NET C#,ASP.NET MVC
Эксперт .NET
 Аватар для lvlkoo
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
26.12.2018, 12:29
Цитата Сообщение от FaceHoof Посмотреть сообщение
В общем, сделать сам очень даже могу, но это долго, не слишком интересно и чревато пачками багов, которые ещё и не сразу вскроются.
Раз решили заняться программированием то пройдите сами все круги ада, будет полезно.
1
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,231
26.12.2018, 13:37
Цитата Сообщение от lvlkoo Посмотреть сообщение
Раз решили заняться программированием то пройдите сами все круги ада, будет полезно.
Так точно, нужна практика хождения по этим кругам, потом time lapse улучшится
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,420
26.12.2018, 14:01  [ТС]
Лааадно... тогда хоть помогите разобраться постепенно)
Ну вот для начала надо узнать получаю ли я IP автоматически.
C#
1
2
3
4
5
6
7
8
9
10
ManagementClass mctemp = new ManagementClass ( "Win32_NetworkAdapterConfiguration" );
            ManagementObjectCollection moctemp = mctemp.GetInstances ( );
            foreach ( ManagementObject motemp in moctemp )
            {
                if ( (bool) motemp.Properties [ "DHCPEnabled" ].Value )
                {
                    //Да, автоматически
                    break;
                }
            }
Ничего не понял. Точнее понял, что Properties в данном случаи коллекция свойств и каждое из них о чём-то говорит. Смог получить их полный список вот так вот:
C#
1
2
3
4
5
6
7
8
9
ManagementClass mctemp = new ManagementClass ( "Win32_NetworkAdapterConfiguration" );
            ManagementObjectCollection moctemp = mctemp.GetInstances ( );
            foreach ( ManagementObject mo in moctemp )
            {
                foreach ( PropertyData prop in mo.Properties )
                {
                    Console.WriteLine ( "{0}: {1}", prop.Name, prop.Value );
                }
            }
Почему они дублируются если у меня всего одно подключение к сети? Как найти среди них нужное?
Есть где-нибудь список, который поясняет, что значит каждое такое свойство? На пример мне ещё надо будет узнать получаю ли я автоматически DNS.
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
26.12.2018, 14:44
Цитата Сообщение от FaceHoof Посмотреть сообщение
Есть у кого уже готовый вариант?
ужс...

Вообще просто чекайте нужный адаптер и вызывайте его окно настроек, нафиг велосипедить? Ну или хотя бы пинайте powershell.
0
.NET C#,ASP.NET MVC
Эксперт .NET
 Аватар для lvlkoo
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
27.12.2018, 13:03
Цитата Сообщение от FaceHoof Посмотреть сообщение
Почему они дублируются если у меня всего одно подключение к сети? Как найти среди них нужное?
Может и не одно...

В верхнем цикли выводите еще и mo.Path, тогда будет понятно из какого обьекта получаете свойства
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
27.12.2018, 14:23
я когда то делал в тупую.
Но думаю вы из этого вытащите себе нужное
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 public void setIP(string IPAddress, string SubnetMask, string Gateway)
        {
 
            ManagementClass objMC = new ManagementClass(
                "Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection objMOC = objMC.GetInstances();
 
 
            foreach (ManagementObject objMO in objMOC)
            {
                
                if (!(bool)objMO["IPEnabled"])
                    continue;
 
 
 
                try
                {
                    ManagementBaseObject objNewIP = null;
                    ManagementBaseObject objSetIP = null;
                    ManagementBaseObject objNewGate = null;
 
 
                    objNewIP = objMO.GetMethodParameters("EnableStatic");
                    objNewGate = objMO.GetMethodParameters("SetGateways");
 
 
 
                    //Set DefaultGateway
                    objNewGate["DefaultIPGateway"] = new string[] { Gateway };
                    objNewGate["GatewayCostMetric"] = new int[] { 1 };
 
 
                    //Set IPAddress and Subnet Mask
                    objNewIP["IPAddress"] = new string[] { IPAddress };
                    objNewIP["SubnetMask"] = new string[] { SubnetMask };
 
                    objSetIP = objMO.InvokeMethod("EnableStatic", objNewIP, null);
                    objSetIP = objMO.InvokeMethod("SetGateways", objNewGate, null);
 
 
 
                    Console.WriteLine(
                       "Updated IPAddress, SubnetMask and Default Gateway!");
 
 
 
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Unable to Set IP : " + ex.Message);
                }
            }
        }
Добавлено через 1 минуту
описание можно достать отсюда.
https://docs.microsoft.com/en-... figuration
1
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,420
28.12.2018, 11:13  [ТС]
lvlkoo, я не очень понял что я получил...
Были вот такого вида пути:
\\UserName\\root\\cimv2:Win32_NetworkAda pterConfiguration.Index=0

И таких 8 штук с увеличивающимися индексами. Я в настройках через панель управления вижу только одно подключение. Что это за пути вообще.

Добавлено через 20 минут
Ну в смысле чисто по названию я догадываюсь, что это какие-то разные варианты конфигурации моего сетевого адаптера, но как выбрать среди них использующийся, тот, что отображается в настройках в панели управления.
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
28.12.2018, 12:42
FaceHoof, я же вам кидал пример выше со ссылкой.
получить название адаптеров можно так
C#
1
2
3
4
5
6
7
8
ManagementClass mctemp = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection moctemp = mctemp.GetInstances();
            foreach (ManagementObject mo in moctemp)
            {
              Console.WriteLine( mo["Caption"]);
               
             
            }
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,420
28.12.2018, 12:55  [ТС]
Andreyip, я плохо спросил... В смысле в панели управления я вижу название контроле в свойствах сетевого подключения. И я вижу имя этого контролера в полученном списке, в моём случаи это контролер с индексом 1. Но программа должна работать не только на моём компьютере с фиксированным именем адаптера. А потому спрашиваю: Как узнать именно использующийся сейчас адаптер? Не у всех же он будет прост ос индексом 1, так ведь?
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
28.12.2018, 13:22
FaceHoof, а если на компе 2 адаптера или 3. 1 физический без выхода в интернет, 2 физический для связи между компами, 3 виртуальный с выходом в интернет. Как вы хотите определить какой использовать?
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,420
28.12.2018, 13:25  [ТС]
Andreyip, Эээ... вы меня сейчас чутка в тупик поставили. Мне нужен тот, имя которого отображается вот в этом окне свойств:
Миниатюры
Приложение для настройки сети  
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
28.12.2018, 13:32
FaceHoof,
Хорошо на вашем компьютере это адаптер реалтек. это вы можете получить через свойство Caption или свойство Description.
На другом компьютере адаптер может быть не только реалтек. А может быть 2 реалтека или 3. И какой из них нужный?

Еще можно делать выборку не из настроек а из самих сетевых адаптеров.
Это класс Win32_NetworkAdapter у которого есть свойства, тип адаптера, а так же название и описание.
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,420
28.12.2018, 13:45  [ТС]
Andreyip, а по какому критерию в настройках определяется какой показывать?
Вот у меня и у компьютера, который будет с этой программой работать, есть только одно сетевое подключение, я нажимаю на нём ПКМ - > Свойства и мне показывается имя адаптера. Вот по какому параметру показывается именно он?
Случайно не по IPEnabled? А то он true только у нужного адаптера.
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
28.12.2018, 13:49
FaceHoof,
IPEnabled означает что сетевой адаптер подключен. если у вас будет несколько включенных сетевых адаптеров то вас это не спасет. Поэтому у меня и было сделано так что я у всех адаптеров устанавливаю одинаковые настройки. Лучше все таки выбирать адаптер.
1
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,420
28.12.2018, 13:57  [ТС]
Andreyip, спасибо, многое стало понятней!
Ушёл тогда думать, что мне вообще надо и как выбирать адаптер)
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,420
09.01.2019, 14:39  [ТС]
Я тут пояснения не понял.
Какой из параметров содержит альтернативный DNS-сервер? https://docs.microsoft.com/en-... figuration
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
10.01.2019, 07:49
FaceHoof, первая ссылка в гугле:
https://social.technet.microso... powershell


параметр соответственно DNSServerSearchOrder[];
1
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,420
10.01.2019, 08:21  [ТС]
Andreyip, а, понял. Просто затупил и не увидел, что DNSServerSearchOrder возвращает сразу два ДНСа.
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,420
11.01.2019, 13:47  [ТС]
Ещё вопрос... Нашёл способ как определять получаем ли мы DNS автоматически. Нужно посмотреть в реестре ключ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Services\Tcpip\Parameters\Interfaces \\{Network_Adaptor_GUID}\NameServer
Если он пуст, то автоматически. Другого способа не увидел, ткните носом, если он есть.
И я так понимаю, если я хочу сделать получение автоматическим, то мне придётся написать в этот ключ реестра адрес DNSа? Но в описании ключа (https://support.microsoft.com/... windows-xp) сказано, что в качестве параметра NameServer указывается список IP через пробел. Вторым указывать альтернативный адрес DNS?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.01.2019, 13:47
Помогаю со студенческими работами здесь

Инструкция для настройки сети для двух ПК через роутер.
ребята здраствуйте и помогите настроить сеть есть два компа)) как между ними настроить сеть черес роутер) интернет у них один на...

Подскажите гайды для настройки раздачи интернета в локальной сети Windows Server
Всем привет. Подскажите, гайды для настройки Windows Server 2008, интересует как раздавать интернет по локальной сети, как раздавать...

Настройки сети: объединить две сети, wifi и ethernet
На компе получаю инет через модуль wifi. Сетевой картой подключен к линукс железке. Хочу с железки получить доступ в инет. Надо как-то мост...

Настройки домашней локальной сети и сети интернет
Здравствуйте! Недавно приобрел wi-fi роутер, но роутер не обычный, на нем только один порт (Ethernet) на вход. Долго с ним мучился и все...

Приложение для анкетирования в локальной сети
Добрый день! Хочу попросить, чтобы вы мне подсказали, какие источники почитать и в каком направлении идти. Коротко о том, что хочу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru