Un accenno dalla guida MCAD:
E' meglio effettuare chiamate Win32 Explicite, quindi, dichiarare la dll necessaria
Cosi' fai un retreive del LastError della porta.
codice:
<DllImport("kernel32.dll")>
Private Shared Function GetLastError()as Integer
End Function
Funzione IsPortAvaible
ti dice se la porta puoi usarla ...
codice:
Try
m_comport.port = ComPort
m_comport.Open()
m_comport.Close()
Return True
Catch
Return False
End Try
Is Port a Modem?
codice:
m_comport.Port = comPort
m_comport.Open()
m_comport.Write(Encoding.Ascii.GetBytes("AT" & Chr(13)))
System.Threading.Thread.Sleep(200)
Application.DoEvents()
Continua ...
Se ricevi risposta la porta è un modem
codice:
Try
Dim b as Byte
m_comport.Read(1)
m_comport.ClearInputBuffer()
m_comport.CLose()
Return True
Catch exc as Exception
m_comport.CLose
Return False
End Try
I Dati ricevuti
codice:
While(m_comport.Read(1) <> -1)
Debug.WriteLine(m_comport.InputStream(0),False)
End While
Segui queste indicazioni, non ti sto a scrivere tutto perchè la mia App è molto tosta ma la logica è questa ...