Я пишу программу SerialPort. Иногда, когда я хочу открыть SerialPort, генерируется UnauthorizedAccessException: доступ к COM1 запрещен. Это потому, что в другой программе (которая написана кем-то еще, и у меня ее нет) используется COM1, и эта программа не закрывает COM1 при выходе. Я хочу задать 2 вопроса:
Как закрыть последовательный порт, используемый другой программой
- Как закрыть COM1 с моим кодом (особенно C# код), когда он используется другой программой?
- Если я не могу закрыть COM1 с кодом C#, как я могу закрыть или освободить COM1 в ОС Windows?
Спасибо.
Возможно, вы можете задействовать порт, используя WMI. http://msdn.microsoft.com/en-us/library/windows/desktop/aa393485(v=vs.85).aspx – Kane
Мое предположение заключается в том, что программа, которая запутывает Com-порт, не выходит полностью из-за того, что окна должны восстановить Com-порт, попробовали ли вы посмотреть, работает ли этот процесс? –
Я также думаю, что некоторые программы не закрывают SerialPort после его использования. Но я не уверен, какой из них. – Jerry