Как определить, используется последовательный порт или нет в .net - PullRequest
1 голос
/ 10 октября 2008

У нас есть приложение для промышленной автоматизации, разработанное в среде .NET 3.5.

Я должен перечислить доступные последовательные порты на компьютере для нашего пользователя. Как часть этого, если какой-либо из последовательных портов уже открыт, я должен показать статус «В использовании». Я попробовал Google, но не повезло.

Может кто-нибудь помочь мне, пожалуйста?

С уважением,

Krishgy

Ответы [ 2 ]

2 голосов
/ 10 октября 2008

Попробуйте открыть ком-порт с эксклюзивной блокировкой, в случае неудачи пометьте его как открытый.

0 голосов
/ 10 октября 2008

Существуют недокументированные API для поиска всех дескрипторов, открытых в системе, а затем вы можете проверить, какие из них открыты для последовательных портов. Это если пользователь всегда будет администратором, а вам нет дела до использования .Net и документированных API.

Существуют документированные API-интерфейсы для поиска всех существующих COM-портов, и затем вы можете попробовать открыть все из них. Это звучит довольно грубо и медленно, но это менее злобно, чем альтернатива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...