我有一个WPF/C#应用程序作为Windows Embedded Standard机器上的“启动”组的一部分启动。应用程序所做的第一件事情(在其静态App()方法中)是为COM1创建一个新的SerialPort对象。 COM1是一个硬连线串行端口,不是USB虚拟端口或类似的东西。Windows:在启动时是否暂时获取com端口?
我的问题是,在启动时每隔一段时间(可能是12),我会得到一个异常: System.UnauthorizedAccessException:拒绝访问端口'COM1'。
使用此端口没有其他应用程序。另外,当我在这个错误之后重新启动应用程序时,它抓住端口就好了。就好像com端口有时候还没有准备好/设置为我的应用程序。
我对此一无所知!任何见解都被赞赏!
UPDATE:我在尝试打开端口之前添加了对SerialPort.GetPortNames()的调用并打印出所有可用的端口。在失败的情况下,COM1确实存在!所以,这并不是港口没有准备好。它看起来像Windows中的某个东西实际上是暂时抓住端口并阻止了我。