-1

C# で System.IO.Ports.SerialPort クラスを使用しています。別の dll にあるヘルパー クラスからシリアル ポートを開くときに、UnAuthorizedAccessException がスローされます。ポートが勝利フォーム自体から開かれた場合、ポートを開くことは成功します!

_portNames = new List<string>(); 
_portNames.AddRange(SerialPort.GetPortNames()); 
_serialPort = new SerialPort(); 
_serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived); 
_serialPort.ErrorReceived += new SerialErrorReceivedEventHandler(serialPort_ErrorReceived);

var index = 0; 
while (!_serialPort.IsOpen && index < _portNames.Count)
{ 
    try
    { 
        _serialPort.PortName = _portNames[index++]; 
        _serialPort.Open(); 
    } 
    catch (Exception ee) 
    { 
    _logger.Log(ee.Message, EventLogEntryType.Warning); 
    }
} 
4

2 に答える 2

0

COM1 で既に開かれているポート

ありがとう

于 2013-11-02T11:42:18.410 に答える