2010-03-01 2 views
2

Мне нужно проверить, существует ли маршрут TCP/IP из моего приложения и добавить маршрут, если это не так. Теперь я бегуДоступ к информации о маршрутизации TCP/IP из приложения .NET

route add <destination network ip address> MASK <mask> <gateway ip address> 

с Process.Start(), и это хорошо для меня. Однако, когда я поднимаю команду маршрута с помощью глагола «runas», сначала нужно проверить, если маршрут уже настроен, чтобы избежать повторного запуска команды повышенного уровня.

Кто-нибудь знает, как получить информацию о маршрутизации TCP/IP с помощью .NET Framework? (Я не хочу запускать печать маршрута с помощью Process.Start() и анализировать вывод)

Спасибо заранее!

ответ

1

Я думаю, что вы должны полагаться на Iphlpapi.dll

Here is a tutorial on how to use it with P/Invoke

+0

Спасибо за ссылку, я думаю, что это решение, но мой вопрос, почему эта информация не доступна для платформы .NET напрямую? –

+0

Я думаю, что можно использовать System.Management для доступа к WMI. Кроме того, я думаю, что чистое .NET-решение было бы только оберткой вокруг файла IpHlpApi.dll, поэтому они не беспокоились. – Eric

+0

Да, вы правы, но наличие обертки лучше, чем ничего: P, большое вам спасибо за ваш ответ. –