Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
siriusED
19 / 19 / 8
Регистрация: 20.05.2010
Сообщений: 502
1

Вызвать окно настроек сетевого подключения

03.10.2013, 18:18. Просмотров 1586. Ответов 7
Метки нет (Все метки)

Нужно программно вызвать стандартное виндосовское окно настроек сетевого подключения, по ID, GUID, PNP, Name этого подключения.

Пока в поисках по инету, нужен хелп.

Добавлено через 5 часов 21 минуту
всё еще не помешал бы совет..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2013, 18:18
Ответы с готовыми решениями:

Проверка стабильности сетевого подключения
Здравствуйте. Имеется сетевое приложение Пока что просто чатик обмен данными...

Изменение настроек подключения к прокси-серверу
Здравствуйте! Уже второй день не могу решить проблему с подключение к прокси......

Как программно поставить галочку в настройках сетевого подключения (расшарить интернет)
Собственно, нужно поставить программно поставить галочку в выделенном месте.

Общее окно настроек
Здравствуйте! Такая ситуация: есть форма с табконтролом, на котором n-e...

Как сделать окно с выбором определенных настроек
Здравствуйте, на этот раз я столкнулся с такой проблемой... Мне хотелось бы,...

7
Soundpro
73 / 73 / 34
Регистрация: 19.10.2012
Сообщений: 213
Завершенные тесты: 1
04.10.2013, 01:26 2
Я могу подсказать только как менять свойства конкретных подключений программно, как их в гуи открыть хз. Только если в гуи все подключения открывать. А там ручками свойства нужного открыть?
0
siriusED
19 / 19 / 8
Регистрация: 20.05.2010
Сообщений: 502
04.10.2013, 15:21  [ТС] 3
Не ну как менять свойства подключения программно мне бы тоже пригодилась информация... Так что можете поделится )
Ну а по сабжу то всё еще б не помешал ответ... Возможно есть какие то WinAPI функции что б отобразить окно свойств конкретного подключения, виндовс то как то же отображает это окно )
0
Soundpro
73 / 73 / 34
Регистрация: 19.10.2012
Сообщений: 213
Завершенные тесты: 1
04.10.2013, 19:11 4
Хм... навели Вы меня на мысль, shell32.dll(та которая в system32), добавьте её в проект через добавление ссылок, потом using Shell32. Там есть такая вещь как Folder и FolderItem, можно с помощью Folder добраться до сетевых подключений, а потом с помощью FolderItem найти необходимое подключение по имени. Должно прокатить. Я только точно не помню как там свойства открыть, но то что можно это точно. Я думаю Вы докапаетесь до правды))
0
siriusED
19 / 19 / 8
Регистрация: 20.05.2010
Сообщений: 502
05.10.2013, 22:20  [ТС] 5
Ну с шелом я уже парился когда хотел сделать нечто похожее... Тогда проблема была в том, что в разных версиях ОСей и языках везде разные пути к 'Connections folder', и как то мне это не сильно понравилось, и я реализовал свою задачу по другому(нормальному ).

Так что я даже хз, но ещё раз попробую порыть на этот счёт чё уж делать... Кстати на счёт изменения настроек подключения я бы всё равно хотел услышать, возможно мне это надо будет тоже...

Добавлено через 14 часов 56 минут
Ну во общем пока что реализовал, и работает на WinXP английском... Как раз таки через тот VBScript... Правда пришлось переписать его без знаний VB...

Но раз работает значит надежда ещё жива

Во общем мне нужно теперь каким то образом получать валидный путь к подключениям для любой версии винды.

Плюс может быть кто знает как зделать так, что бы выводимое окно свойств этим скриптом весело без 'wscript.sleep 999' в конце скрипта, а то если sleep убрать то оно сразу исчезает после вывода... А если поставить большой слип тогда после закрытия окна сам скрипт дальше висит в процессах...

Добавлено через 1 час 55 минут
Короче перерыв пол инета всё таки смог переписать VBS код на c#, и при чом работает всё отлично!!!

Так что сейчас самая главная проблема как получать реальные пути к интернет подключениям... Я дальше в гугл, а Вы если кто знаете как получать путь напишите плз )

Плюс ещё бы не помешала инфа по пунктам меню(полученых через Shell32('verbs')), пункт вызываю через Shell.InvokeVerb("&verb"); Собственно интересует возможно у них есть какие-то индексы шоль... А то ж в разных Осях названия у них разные итд...
0
Soundpro
73 / 73 / 34
Регистрация: 19.10.2012
Сообщений: 213
Завершенные тесты: 1
05.10.2013, 23:10 6
про редактирование свойств конкретного подключение - я делал с помощью командной строки и Netsh, только всё это происходило в невидимом режиме. Про Netsh в сети информации полно, про работу с командной строкой из под c# тоже. А на счет валидного пути:
C#
1
2
3
ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.FileName = "::{7007ACC7-3202-11D1-AAD2-00805FC1270E}";
            Process.Start(startInfo);
Я попробовал на 2 системах, хр32, и вин7-64, открывается папка сетевые подключения, нужно только как то вытянуть путь к ней когда откроется. А атм уже работать с сетевыми подключениями. Я пока подумаю как. Но пищу для размышлений дал.

Добавлено через 2 минуты
Либо при запуске программы делать проверку на тип ОСи, а дальше в зависимости от ОСи присваеваем строке значение пути. Всего 6 ОС получается winxp и win7 англ. и рус. win8 англ и рус.
1
siriusED
19 / 19 / 8
Регистрация: 20.05.2010
Сообщений: 502
06.10.2013, 16:09  [ТС] 7
Хех, вот всё что Вы написали я как раз всё это и нашёл) Ну кроме netsh, менять информацию устройств легко можна через WinAPI(пока искал как зделать невозможное вот это, много уже чего прочитал про драйвера, WinAPI ф-ции итд

Ну а по двум остальным пунктам то вот только их, я и нарыл за целый день... И у меня тоже
Цитата Сообщение от Soundpro Посмотреть сообщение
хр32, и вин7-64
системы, и тоже открывается 'папка' сетьевых подключений не зависимо от языка итд... И вот как раз ищу каким образом можна прикрутить эту папку к Шеллу...
Кстати эта папка это физический путь к папке Сетьевых подключений в панели управления, на сколько я понял из прочитанной мною статьи...

Ну и на счёт проверки ОСей то я тут уже передумал многое, но самым адекватным показалась мысль реализовать поиск имени самого подключения по пути(что то типа полу рекурссии штоль...). Ну в двух словах:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    Shell32.Folder RootFolder = shell.NameSpace(3);
    Shell32.Folder SrcFlder = null;
    string connectionName = "Local Area Connection"; // Connection Name for searching..
    ShellFolderItem fItem = null;
    
    
        foreach (Shell32.FolderItem fi in RootFolder.Items())
        {
            /// Ну и тут собственно реализовать логику поиска.
            /// А именно искать в каждой папке 'Control panel' итем,
            /// 'FolderItem', и если нету значит не та папка, ну и так по всем папкам в панели...
            /// А исходя с того, что я точно знаю название подключения(и оно точно рано или позно найдётся)
            /// То по логике идеи я абстрагируюсь от самих имён папок...
        }
Во общем как то вот так вот, сразу поправляйте где что либо ошибся или нублю...

Добавлено через 2 часа 30 минут
Да, реализовал я как описал выше, ну и на WinXP работает просто замечательно, а на Windows7 почему-то не находит айтемы в панели которые нужны для пути к папке подключений...

Пока что задал отдельный вопрос в этой вот теме, и надеюсь что кто то откликнется...
Как получить доступ к папке 'Сетевые подключения' на Windows7 через Shell32

Добавлено через 14 часов 3 минуты
Во общем снова прочитав тонну статей в инете всё таки добился результата

Решение: Shell32.Folder RootFolder = shell.NameSpace("ТУТ ИМЯ ПАПКИ НАДО БЫЛО УЗАЗАТЬ ВМЕСТО КОНСТАНТЫ");
0
Soundpro
73 / 73 / 34
Регистрация: 19.10.2012
Сообщений: 213
Завершенные тесты: 1
06.10.2013, 16:38 8
Решение: Shell32.Folder RootFolder = shell.NameSpace("ТУТ ИМЯ ПАПКИ НАДО БЫЛО УЗАЗАТЬ ВМЕСТО КОНСТАНТЫ");
Хотел Вам про это написать, Вы меня опередили))
0
06.10.2013, 16:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2013, 16:38

Как вызвать окно?
Подскажите пожалуйста в Delphi вызов окна осуществляется командой inptquery, а...

Окно конструктор подключения к бд
В vs есть окно-конструктор для подключения к базе данных. Есть ли такое окно...

Как вызвать окно с уведомлением об исключении?
Собственно, как вызвать окно с уведомлением об исключении с кнопкой (ок) в WF?...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru