Creating a Remote Desktop Application in VB.NET

Remote Desktop Protocol

RDP (Remote Desktop Protocol) is a protocol developed by Microsoft that provides a user with a graphical interface to connect to another computer over a network connection. Windows Remote Desktop Services is a server-based presentation virtualization component that allows a user to access applications and data hosted on a remote computer over a network.

Desktop Virtualization

Desktop virtualization is a software technology that can separate the desktop environment and its associated applications from the physical client that is used to access it. Desktop virtualization can be used together with application virtualization and user virtualization to provide a complete desktop environment management system. In Desktop virtualization, all the components of the desktop are virtualized, which allows for a flexible and more secure desktop delivery model.

Application Virtualization

Application virtualization is a software technology that envelops programs from the underlying operating system. A virtualized application behaves at runtime as if it is directly interfacing with the original operating system.

User Virtualization

User virtualization separates all of the software aspects that define a user's personality from the operating system.

Our Project

Today, you will create an application in Visual Basic.NET capable of making Remote Desktop Connections. Start Visual Basic and create a new Windows Forms project. When the project has finished loading, add three textboxes and two buttons onto it. The textboxes will be used to enter the Server name, User name, and Password. The two buttons will be used to Connect and Disconnect.

Make your form much bigger than the default size.

Use the following steps to add a reference to Microsoft Terminal Services Active Client:

  1. Click Project.
  2. Click Add Reference.
  3. On the COM tab, scroll down until you find Microsoft Terminal Services Active Client and tick it (see Figure 1).

Add a Reference
Figure 1: Add a Reference

Use the following steps to add the Microsoft Terminal Services Client Control to your Toolbox:

  1. Right-click your Toolbox.
  2. Click Choose Items.
  3. Select the COM Components tab.
  4. Scroll down until you find Microsoft Terminal Services Client and tick it, as shown in Figure 2.
  5. Click OK.

Toolbox Items
Figure 2: Toolbox Items

Your Toolbox should show two new controls inside (see Figure 3).

New tools
Figure 3: New tools

Add the Terminal Services Client Control to your form. Your form's final design should resemble Figure 4.

Design
Figure 4: Design

The design is set up nicely now. You have to add the reference to get the Toolbox items so that we can add them onto the form.

Code

Import the Microsoft Terminal Services Client Library namespace:

Imports MSTSCLib

Add the following code behind the 'Connect' button:

   Private Sub btnConnect_Click(sender As Object, e As EventArgs) _
         Handles btnConnect.Click

      Try

         rdpView.Server = txtServer.Text
         rdpView.UserName = txtUserName.Text

         Dim isSecured As IMsTscNonScriptable = _
            DirectCast(rdpView.GetOcx(), IMsTscNonScriptable)

         isSecured.ClearTextPassword = txtPassword.Text

         rdpView.Connect()

      Catch ex As Exception

         MessageBox.Show("Cannot Connect", "Cannot Connect to: " _
            + txtServer.Text + " Reason:  " + ex.Message, _
            MessageBoxButtons.OK, MessageBoxIcon.Error)

      End Try

   End Sub

The Username and Server details get supplied. The IMsTscNonScriptable interface configures automatic password logon access to Remote Desktop Session Host servers. if all details are correct, rdpView will connect to the remote server and establish a connection. If anything fails, the Try and Catch block will produce the necessary exception output.

Add the next code behind the 'Disconnect' button:

   Private Sub btnDisconnect_Click(sender As Object, e -
         As EventArgs) Handles btnDisconnect.Click

      Try

         If rdpView.Connected.ToString() = "1" Then

            rdpView.Disconnect()

         End If

      Catch ex As Exception

         MessageBox.Show("Cannot Disconnect", _
            "Cannot Disconnect from: " _
            + txtServer.Text + " Reason: " + ex.Message, _
            MessageBoxButtons.OK, MessageBoxIcon.Error)

      End Try

   End Sub

If connected, disconnect.

Please feel free to download RemoteDesktop_Ex, the program to accompany this article. It's found below.

Conclusion

Being able to create an application that can connect remotely to other users can provide you with another option to do proper application and desktop support.



About the Author

Hannes DuPreez

Hannes du Preez has been a Microsoft MVP for Visual Basic from 2008 to 2017. He loves technology and loves Visual Basic. He loves writing articles and proving that Visual Basic is more powerful than what most believe. You are most welcome to reach him at: ojdupreez1978@gmail.com

Related Articles

Downloads

Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • As all sorts of data becomes available for storage, analysis and retrieval - so called 'Big Data' - there are potentially huge benefits, but equally huge challenges...
  • The agile organization needs knowledge to act on, quickly and effectively. Though many organizations are clamouring for "Big Data", not nearly as many know what to do with it...
  • Cloud-based integration solutions can be confusing. Adding to the confusion are the multiple ways IT departments can deliver such integration...

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date