Ну, у меня была похожая проблема несколько дней назад. Для решения этой проблемы я воспользовался тем, что некоторые приложения удаленного рабочего стола используют известный порт по умолчанию , по крайней мере VNC и / или Подключение к удаленному рабочему столу Microsoft . Поэтому я создал метод, который сообщает, используется ли порт, следующим образом:
/* Libraries needed */
using System.Linq;
using System.Net.NetworkInformation;
/*....
....
....*/
private static bool IsPortBeingUsed(int port)
{
return IPGlobalProperties.GetIPGlobalProperties().
GetActiveTcpConnections().
Any(
tcpConnectionInformation =>
tcpConnectionInformation.LocalEndPoint.Port == port
);
}
Не забудьте поместить оператор using с библиотеками в начало файла, где находится метод.
Вам просто нужно передать, например, параметр, такой как 3389 порт , который является портом по умолчанию для Подключение к удаленному рабочему столу , или 5900 порт , который является порт по умолчанию для VNC-соединений .
Метод создан с использованием C # 4.0 функций, но его вполне можно сделать с более старой версией C # .Net или Visual Basic.
Это сработало для меня, поскольку мне нужно было проверить только два приложения, о которых я упоминал ранее.
Надеюсь, это поможет.