Получите IP-адрес ПК хоста от Windows Mobile при соединении через ActiveSync

Он не будет идти в цикле for, если в коллекции «строк» ​​есть ноль строк. Поэтому вы должны проверить количество строк в коллекции.

Вы можете определенно перебрать WinTable, взяв его детей. UitestcontrolCollection rows = WinTable.GetChildren(), а затем вставьте это в цикл.

Но если между таблицей и строками есть другой элемент управления, вам нужно проверить иерархию.

5
задан Nifle 22 June 2009 в 08:27
поделиться

2 ответа

Я нашел статью KB, Как Получить IP-адрес Удаленного Однорангового узла PPP, который использует хост "PPP_Peer". Таким образом, я попробовал:

Dns.GetHostEntry("PPP_Peer").AddressList[0]

И это действительно дает мне, что я ищу (169.254.2.2 на ПК, который я использую в данный момент).

9
ответ дан 13 December 2019 в 05:43
поделиться

Получение адреса не отличается чем тогда, когда Вы подключены к любому другому сетевому адаптеру (обычно, ActiveSync работает на основе RNDIS в наше время).

Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];

Тем не менее ActiveSync всегда создает локальную сеть, таким образом, устройство всегда собирается добраться 192.168.55.101 (и 192.168.55.100 для хоста ПК). В теории это могло быть что-то другое, но в десятилетие я работал с CE, я никогда не видел, что он дает любой другой адрес (кроме под WMDC Vista, который имеет тенденцию использовать другую, но довольно предсказуемую, схему адресации).

Править: Кажется, что Вы не пытаетесь получить свой собственный IP, но это подключенного ПК. ActiveSync не является полноценным сетевым соединением. Это фильтрует некоторые типы пакетов, и Вы не получаете определение имен, таким образом, Вы не можете получить IP-адрес ПК из кода устройства путем выполнения DNS. Твердость на названии ПК. Необходимо предоставить IP непосредственно приложению для устройства.

3
ответ дан 13 December 2019 в 05:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: