Vb6 Serial Port Sniffer Source Code
How to: Receive Strings From Serial Ports in Visual Basic • • 2 minutes to read • Contributors • • • • • • In this article This topic describes how to use My.Computer.Ports to receive strings from the computer's serial ports in Visual Basic. To receive strings from the serial port • Initialize the return string. Dim returnStr As String = ' • Determine which serial port should provide the strings. This example assumes it is COM1. • Use the My.Computer.Ports.OpenSerialPort method to obtain a reference to the port. For more information, see.
Now you can drag and drop control to the form and use all methods and events provided by Serial Port Sniffer ActiveX Control. Installation into Microsoft Visual Basic 5-6. To install Serial Port Sniffer ActiveX Control into Visual Basic, click Project->Components menu item and choose “Serial Port Sniffer ActiveX Control”.
The Try.Catch.Finally block allows the application to close the serial port even if it generates an exception. All code that manipulates the serial port should appear within this block. Dim com1 As IO.Ports.SerialPort = Nothing Try com1 = My.Computer.Ports.OpenSerialPort('COM1') com1.ReadTimeout = 10000 Catch ex As TimeoutException returnStr = 'Error: Serial Port read timed out.' Finally If com1 IsNot Nothing Then com1.Close() End Try • Create a Do loop for reading lines of text until no more lines are available. Do Loop • Use the method to read the next available line of text from the serial port.
Dim Incoming As String = com1.ReadLine() • Use an If statement to determine if the method returns Nothing (which means no more text is available). If it does return Nothing, exit the Do loop. If Incoming Is Nothing Then Exit Do End If • Add an Else block to the If statement to handle the case if the string is actually read. The block appends the string from the serial port to the return string. Else returnStr &= Incoming & vbCrLf • Return the string. Return returnStr Example Function ReceiveSerialData() As String ' Receive strings from a serial port. Dim returnStr As String = ' Dim com1 As IO.Ports.SerialPort = Nothing Try com1 = My.Computer.Ports.OpenSerialPort('COM1') com1.ReadTimeout = 10000 Do Dim Incoming As String = com1.ReadLine() If Incoming Is Nothing Then Exit Do Else returnStr &= Incoming & vbCrLf End If Loop Catch ex As TimeoutException returnStr = 'Error: Serial Port read timed out.'
Finally If com1 IsNot Nothing Then com1.Close() End Try Return returnStr End Function This code example is also available as an IntelliSense code snippet. In the code snippet picker, it is located in Connectivity and Networking. For more information, see. Blackout method man and redman zip line. Compiling the Code This example assumes the computer is using COM1. Robust Programming This example assumes the computer is using COM1. For more flexibility, the code should allow the user to select the desired serial port from a list of available ports. For more information, see.
This example uses a Try.Catch.Finally block to make sure that the application closes the port and to catch any timeout exceptions. For more information, see. See also • • • • • Feedback.
Hello ShrishailHalijol, 1. >> But then, how do the Port Monitoring Tools (like one provided by Eltima) work? 1.1 Good commercial software which hooks the serial comm port would usually use a filter device driver that attaches itself to a serial port.
1.2 Client applications would generally have to perform the following: 1.2.1 Install the device driver to the system. 1.2.2 Obtain a handle to the device driver (this is achieved by a combined use of the CreateFile(), OpenSCManager(), OpenService() and StartService() APIs). 1.2.3 Communicate with the device driver by sending various IOCTL commands (this is done by calling the DeviceIoControl() API). 1.2.4 Receive events fired from the dvice driver (this is done by using DeviceIoControl() and WaitForMultipleObjects()). 1.2.5 Analyze the events which are usually connected with serial comm port activities (e.g.