'Code Starts here …. 'Import Systems which we are gonna use in our code Imports System Imports System.ComponentModel Imports System.Threading Imports System.IO.Ports 'frmMain is the name of our form …. 'Here starts our main form code ….. Public Class frmMain Dim myPort As Array Delegate Sub SetTextCallback(ByVal [text] As String) Dim rgb(30) As String Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim bmp As New Bitmap(1, 1) Using g As Graphics = Graphics.FromImage(bmp) g.CopyFromScreen(Windows.Forms.Cursor.Position, New Point(0, 0), New Size(1, 1)) End Using Dim pixel As Drawing.Color = bmp.GetPixel(0, 0) Label1.Text$ = bmp.GetPixel(0, 0).ToString ' rgb() = bmp.GetPixel(0, 0).ToString Dim p As New Point p.X = (Me.Width / 2) - (Label1.Width / 2) p.Y = Label1.Top Label1.Location = p PictureBox1.BackColor = pixel Me.Invalidate() End Sub 'Page Load Code Starts Here…. Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load myPort = IO.Ports.SerialPort.GetPortNames() cmbBaud.Items.Add(9600) cmbBaud.Items.Add(19200) cmbBaud.Items.Add(38400) cmbBaud.Items.Add(57600) cmbBaud.Items.Add(115200) For i = 0 To UBound(myPort) cmbPort.Items.Add(myPort(i)) Next cmbPort.Text = cmbPort.Items.Item(0) cmbBaud.Text = cmbBaud.Items.Item(0) btnDisconnect.Enabled = False End Sub 'Page Load Code Ends Here …. 'Connect Button Code Starts Here …. Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click SerialPort1.PortName = cmbPort.Text SerialPort1.BaudRate = cmbBaud.Text SerialPort1.Parity = IO.Ports.Parity.None SerialPort1.StopBits = IO.Ports.StopBits.One SerialPort1.DataBits = 8 SerialPort1.Open() Timer2.Enabled = True btnConnect.Enabled = False btnDisconnect.Enabled = True End Sub 'Connect Button Code Ends Here …. 'Disconnect Button Code Starts Here …. Private Sub btnDisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisconnect.Click SerialPort1.Close() btnConnect.Enabled = True btnDisconnect.Enabled = False End Sub 'Disconnect Button Code Ends Here …. 'Send Button Code Starts Here …. 'Send Button Code Ends Here …. 'Serial Port Receiving Code Starts Here …. Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived ReceivedText(SerialPort1.ReadExisting()) End Sub 'Serial Port Receiving Code Ends Here …. 'Serial Port Receiving Code(Invoke) Starts Here …. Private Sub ReceivedText(ByVal [text] As String) If Me.rtbReceived.InvokeRequired Then Dim x As New SetTextCallback(AddressOf ReceivedText) Me.Invoke(x, New Object() {(text)}) Else Me.rtbReceived.Text &= [text] End If End Sub 'Serial Port Receiving Code(Invoke) Ends Here …. 'Com Port Change Warning Code Starts Here …. Private Sub cmbPort_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbPort.SelectedIndexChanged If SerialPort1.IsOpen = False Then SerialPort1.PortName = cmbPort.Text Else MsgBox("Valid only if port is Closed", vbCritical) End If End Sub 'Com Port Change Warning Code Ends Here …. 'Baud Rate Change Warning Code Starts Here …. Private Sub cmbBaud_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbBaud.SelectedIndexChanged If SerialPort1.IsOpen = False Then SerialPort1.BaudRate = cmbBaud.Text Else MsgBox("Valid only if port is Closed", vbCritical) End If End Sub 'Baud Rate Change Warning Code Ends Here …. 'Private Sub btnSend_data_Click(sender As System.Object, e As System.EventArgs) Handles btnSend_data.Click ' SerialPort1.Write(Label1.Text) ' SerialPort1.Write(vbNewLine) 'End Sub Private Sub rtbReceived_TextChanged(sender As System.Object, e As System.EventArgs) Handles rtbReceived.TextChanged AutoScroll = True End Sub Private Sub Timer2_Tick(sender As System.Object, e As System.EventArgs) Handles Timer2.Tick SerialPort1.Write(Label1.Text) End Sub Private Sub Label1_Click(sender As System.Object, e As System.EventArgs) Handles Label1.Click End Sub End Class 'Whole Code Ends Here ….