В ответе на ваш вопрос 2 этот код покажет панель управления соединениями:
Process.Start(@"\windows\ctlpnl.exe", "cplmain.cpl,19");
Многие встроенные апплеты настроек отображаются через ctlpnl.exe. Я получил магическое число из списка здесь , не уверен, поможет ли это, потому что вам все еще нужно провести пользователя по остальной части настройки связи.
Что касается вашего вопроса 1, я использовал DMProcessConfigXML, а также кабины настройки диспетчера конфигурации для настройки параметров связи (по общему признанию из c ++, но, глядя на API, должно быть просто выполнить p / invoke, как предложил Шейн). Это было некоторое время назад, поэтому сейчас у меня нет примеров для подбора, но мы определенно получили его для создания новых настроек сети и переключения этих выпадающих меню для выбора новых настроек. Я посмотрю, смогу ли я выкопать пример XML позже.
Кажется, что нет необходимости в P / Invoke, ConfigurationManager.ProcessConfiguration - это управляемая оболочка в пространстве имен Microsoft.WindowsMobile, которая вызывает DMProcessConfigXML.
Я все еще ищу нужный XML для отправки, скорее всего, некоторая комбинация CM_Networks, CM_Planner и, возможно, некоторых других ... подробности - это здесь , но документация немного сложнее разберись, что делает, и я не могу вспомнить, как это было давным-давно: (
Хорошо, после небольшого эксперимента (поскольку я не нашел xml), вот некоторый xml, который вы можете передать ConfigurationManager.ProcessConfiguration, который изменит два параметра:
<wap-provisioningdoc>
<characteristic type="CM_ProxyEntries">
<characteristic type="HTTP-{ADB0B001-10B5-3F39-27C6-9742E785FCD4}">
<parm name="SrcId" value="{ADB0B001-10B5-3F39-27C6-9742E785FCD4}" options="My Work Network{18AD9FBD-F716-ACB6-FD8A-1965DB95B814}My ISP{ADB0B001-10B5-3F39-27C6-9742E785FCD4}Work{A1182988-0D73-439E-87AD-2A5B369F808B}Secure WAP Network{F28D1F74-72BE-4394-A4A7-4E296219390C}The WAP Network{7022E968-5A97-4051-BC1C-C578E2FBA5D9}The Internet{436EF144-B4FB-4863-A041-8F905A62C572}" />
<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}" options="My Work Network{18AD9FBD-F716-ACB6-FD8A-1965DB95B814}My ISP{ADB0B001-10B5-3F39-27C6-9742E785FCD4}Work{A1182988-0D73-439E-87AD-2A5B369F808B}Secure WAP Network{F28D1F74-72BE-4394-A4A7-4E296219390C}The WAP Network{7022E968-5A97-4051-BC1C-C578E2FBA5D9}The Internet{436EF144-B4FB-4863-A041-8F905A62C572}" />
<parm name="Proxy" value="new-inet:1159" />
<parm name="Override" value="" />
<parm name="Enable" value="1" />
<parm name="Type" value="0" />
<parm name="Username" value="" />
<parm name="Password" value="" />
<parm name="ExtraInfo" value="" />
</characteristic>
<characteristic type="null-corp-{ADB0B001-10B5-3F39-27C6-9742E785FCD4}">
<parm name="SrcId" value="{ADB0B001-10B5-3F39-27C6-9742E785FCD4}" options="My Work Network{18AD9FBD-F716-ACB6-FD8A-1965DB95B814}My ISP{ADB0B001-10B5-3F39-27C6-9742E785FCD4}Work{A1182988-0D73-439E-87AD-2A5B369F808B}Secure WAP Network{F28D1F74-72BE-4394-A4A7-4E296219390C}The WAP Network{7022E968-5A97-4051-BC1C-C578E2FBA5D9}The Internet{436EF144-B4FB-4863-A041-8F905A62C572}" />
<parm name="DestId" value="{A1182988-0D73-439E-87AD-2A5B369F808B}" options="My Work Network{18AD9FBD-F716-ACB6-FD8A-1965DB95B814}My ISP{ADB0B001-10B5-3F39-27C6-9742E785FCD4}Work{A1182988-0D73-439E-87AD-2A5B369F808B}Secure WAP Network{F28D1F74-72BE-4394-A4A7-4E296219390C}The WAP Network{7022E968-5A97-4051-BC1C-C578E2FBA5D9}The Internet{436EF144-B4FB-4863-A041-8F905A62C572}" />
<parm name="Proxy" value="" />
<parm name="Override" value="" />
<parm name="Enable" value="1" />
<parm name="Type" value="0" />
<parm name="Username" value="" />
<parm name="Password" value="" />
<parm name="ExtraInfo" value="" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
Это было взято из моего эмулятора wm 6 pro, поэтому вам, возможно, придется немного поиграть с настройками. Он устанавливает оба раскрывающихся списка на Мой провайдер (ADB0B001-10B5-3F39-27C6-9742E785FCD4 guid). Просто измените guid в type = "HTTP-xxxx" и type = "null-corp-xxxx" и убедитесь, что он совпадает в srcId parm тоже.
Я вызвал ProcessConfiguration с этим xml (и метаданными, установленными в true), чтобы получить список всех настроенных записей, он возвращает их в документе xml.
<wap-provisioningdoc>
<characteristic-query type="CM_Mappings" recursive="true"/>
<characteristic-query type="CM_Planner" recursive="true"/>
<characteristic-query type="CM_Networks" recursive="true"/>
<characteristic-query type="CM_ProxyEntries" recursive="true"/>
<characteristic-query type="Wi-Fi" recursive="true"/>
<characteristic-query type="CM_PPPEntries" recursive="true"/>
<characteristic-query type="CM_VPNEntries" recursive="true"/>
<characteristic-query type="CM_NetEntries" recursive="true"/>
<characteristic-query type="CM_GPRSEntries" recursive="true"/>
</wap-provisioningdoc>
Вы можете использовать это, чтобы увидеть, что такое руководства и настройки, или посмотреть во включаемых файлах из WM SDK, поскольку они перечислены там для использования с диспетчером соединений apis.
Одно предостережение: я не пытался использовать эти соединения после того, как связался с ними, но пользовательский интерфейс меняется, когда вы обрабатываете конфиги