Можно использовать System.Management
API (WMI) к контрольным службам удаленно. WMI является универсальным API, чтобы сделать задачи администрирования.
Для этой проблемы, однако, я предлагаю, чтобы Вы использовали более легкое для использования System.ServiceProcess.ServiceController
класс.
Skype работает очень интересно. Из того, что я прочитал (и это было некоторое время назад), он работает следующим образом:
Вероятно, это слишком упрощенно, но в последний раз я проверял, как это работает. (Кто-нибудь поправит меня, если я ошибаюсь.)
Изменить: исправлена проблема с маркером
Пробивка отверстий UDP - это (один) из способов прохождения через NAT.
Вы должны использовать промежуточный сервер и инициировать связь с на стороне клиента. Как упоминал Йоссариан, с этого момента одна из возможностей - пробивка отверстий UDP. В зависимости от типа приложения (и действительно ли это P2P или нет) вы можете постоянно держать промежуточный сервер на месте.
Skype использует другие одноранговые узлы в качестве промежуточной точки, когда прямое соединение невозможно.
т.е. одноранговый узел A хочет подключиться к одноранговому узлу B, но одноранговый узел B закрыл все порты, тогда связь инициируется через одноранговый узел C, который имеет открытые порты.