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

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

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

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

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

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

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

35
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
11.01.2019, 14:05
FaceHoof,
Посмотри параметр DomainDNSRegistrationEnabled
Вроде это он.
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,422
11.01.2019, 14:27  [ТС]
Andreyip, попробовал на виртуалке. Включение/выключение автоматического получения DNS никак не поменяло свойство DomainDNSRegistrationEnabled , всегда false.
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
11.01.2019, 14:31
FaceHoof, а список днс серверов не изменяется?
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,422
11.01.2019, 14:53  [ТС]
Andreyip, который в свойстве DNSServerSearchOrder? Да, они меняются, адреса меняются на те, которые я указывал при изменении настройки на ручную.
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,422
15.01.2019, 14:25  [ТС]
Пытаюсь сохранить настройки DNS:

C#
1
2
3
4
ManagementBaseObject objSetIPDNS = null;
                    ManagementBaseObject objNewDNSAuto = MOCurent.GetMethodParameters ( "DNSServerSearchOrder" );
                    objNewDNSAuto [ "DNSServerSearchOrder" ] = new string [ ] { strDNS, strDNSA };
                    objSetIPDNS = MOCurent.InvokeMethod ( "DNSServerSearchOrder", objNewIP, null );
Ошибка в строке
C#
1
ManagementBaseObject objNewDNSAuto = MOCurent.GetMethodParameters ( "DNSServerSearchOrder" );,
метод не поддерживается ни одним из классов

Я что-то забыл?

Добавлено через 30 минут
Нет, стоп, затупил я. Менять DNS очень просто, это надо делать через всё тут же ключ реестра. Сработало.

Добавлено через 25 минут
Andreyip, скажите, а в том коде, что Вы ранее кидали подразумевается какое-то изменение настройки авто/нет получение IP адреса? Потому что без неё ничего не работает Код нормально отрабатывает, но IP не меняется.
Я попытался предварительно сменить настройку авто/нет, но получаю ошибку
C#
1
2
3
4
ManagementBaseObject objSetIPAuto = null;
                    ManagementBaseObject objNewIPAuto = MOCurent.GetMethodParameters ( "DHCPEnabled" );
                    objNewIPAuto [ "DHCPEnabled" ] = false;
                    objSetIPAuto = MOCurent.InvokeMethod ( "DHCPEnabled", objNewIP, null );
Добавлено через 28 минут
Уточнение: DefaultIPGateway всё таки задался. Маска и адрес - нет.
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
15.01.2019, 14:32
FaceHoof, Как настройка выполнялась то ip с dhcp вставал на статику.

Добавлено через 3 минуты
FaceHoof, нет такого метода который вы вызываете, смотрите внимательно документацию
DHCPEnabled

Data type: boolean

Access type: Read-only
это свойство причем readonly

метод же EnableDHCP и он не принимает никаких параметров на вход.

Добавлено через 29 секунд
еще раз ссылка на описание
https://docs.microsoft.com/en-... figuration
1
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,422
15.01.2019, 14:49  [ТС]
Заработал Ваш код. Я не правильный IP задавал и на этот случай ошибки не предусмотрены, похоже.
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,422
16.01.2019, 14:43  [ТС]
Andreyip,
Ещё вопросы есть:
Как назад включить автоматическое получение IP?

И второй более странный: Вот есть у меня служба, приложение с ней общается по TCP/IP, и приложение и служба на одном компьютере, всё отправляется на адрес 127.0.0.1 После смены IP на несуществующий в общении службы и приложения появляется огромная задержка, в минуты. Как это вообще связано?
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
16.01.2019, 17:27
FaceHoof,
вызовите метод DHCPEnabled тогда адрес будет присваиваться автоматом.

Добавлено через 3 минуты
FaceHoof, скорее всего это связано каким то образом с виндой. скорее всего первый запрос делается по tcp/ip но так как адрес не действительный то соединение прерывается по таймауту и только после этого идет через loopback. погуглите по настройкам сети. Может где есть какой параметр в реестре.
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,422
17.01.2019, 10:07  [ТС]
Andreyip, а как его вызвать?
Я попытался по аналогии с EnableStatic, но сразу же ошибка, что этот метод не поддерживается ни одним из классов.
C#
1
2
3
MOCurent = GetCurentNetworkAdapter ( strNetworkAdapterID );
 
ManagementBaseObject objNewIPAuto = MOCurent.GetMethodParameters ( "DHCPEnabled" );
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
17.01.2019, 10:16
FaceHoof, У этого метода нет параметров. Вызывайте его без параметров.

Добавлено через 4 минуты
MOCurent.InvokeMethod("DHCPEnabled",null );
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,422
17.01.2019, 10:34  [ТС]
Andreyip, тоже самое. А может нужен метод EnableDHCP?

Добавлено через 15 минут
Ну да, MOCurent.InvokeMethod ( "EnableDHCP", null ); заработал)
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
17.01.2019, 10:38
FaceHoof, ага, я сам же в 26 посте об этом писал, тут меня ваш запрос смутил))
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,422
08.02.2019, 16:05  [ТС]
Нужно пояснение по определению нужного адаптера...
Допустим ситуацию: Есть 5 физических адаптеров и N виртуальных. Два адаптера подключены к неким условным приборам, третий к большой локальной сети (не факт, что есть доступ к интернету), четвёртый и пятый не подключены никуда. Как определить тот, что подключен именно к сети?

Добавлено через 2 часа 20 минут
Всё, сам догадался: просто смотрю IP адреса устройств.
0
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,422
12.02.2019, 12:26  [ТС]
Andreyip,
Нужно пояснение по непонятному поведению...
Задача: Есть два проводных сетевых адаптера. Один ничем не занят, ко второму подключен условный прибор и настроен IP адрес (который я знаю заранее). Я знаю имя нужного адаптера, но оно совпадает с именем другого. Следовательно, для получения нужного я могу опираться на IP адрес. Вот что я сделал:

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
richTextBox1.Text = string.Empty;
            try
            {
                ManagementClass mctemp = new ManagementClass ( "Win32_NetworkAdapterConfiguration" );
                ManagementObjectCollection moctemp = mctemp.GetInstances ( );
                foreach ( ManagementObject mo in moctemp )
                {
                    richTextBox1.Text += "\r\n" + mo [ "Caption" ].ToString ( );
                    if ( mo [ "Caption" ].ToString ( ).Contains ( textBox2.Text ) )
                    {
                        if ( CheckForTheExistenceOfAnIPAddress ( mo ) )
                        {
                            richTextBox1.Text += "\r\n==============" + mo [ "IPAddress" ].ToString ( );
                            if ( ( mo [ "IPAddress" ] as string [] ) [ 0 ] != textBox3.Text )
                            {
                                richTextBox1.Text += "\r\nDONE!!! " + mo [ "Caption" ].ToString ( );
                                break;
                            }
                        }
                        else
                        {
                            richTextBox1.Text += "\r\nDONE!!! " + mo [ "Caption" ].ToString ( );
                            break;
                        }
                    }
                }
            }
            catch ( Exception ex )
            {
                textBox1.Text = ex.Message;
            }
Так же я понятия не имею есть ли у нужного мне сетевого интерфейса IP адрес вообще. Поэтому сделал метод для простой проверки:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private bool CheckForTheExistenceOfAnIPAddress ( ManagementObject mo )
        {
            try
            {
                string a = mo [ "IPAddress" ].ToString ( );
                richTextBox1.Text += "\r\n+";
                return true;
            }
            catch
            {
                richTextBox1.Text += "\r\n-";
                return false;
            }
        }
Нужный адаптер получить удаётся. Даже удаётся задать ему конкретный адрес, маску, DNS (а вот задать автоматическое получение не вышло, но это не важно). Но назад получить эти настройки не выходит. Метод CheckForTheExistenceOfAnIPAddress возвращает false. Как так то?! Если посмотреть в панели управления, то там у нужного адаптера уже есть заданный мною адрес, маска и ДНС. Но в методе попытка обратиться к "IPAddress" вызывает ошибку. Почему?

Добавлено через 50 минут
Дополнение: ситуация воспроизводится только если сетевой кабель к адаптеру не подключён.
0
3 / 3 / 4
Регистрация: 03.11.2015
Сообщений: 89
17.04.2019, 18:13
Почему код работает успешно, но когда захожу посмотреть свойства адаптера все без изменений. И не смущает тот факт, что свойство IPAddress имеет модификатор Read-only?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.04.2019, 18:13

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru