This project is read-only.

Virtual Channels

Mar 19, 2009 at 5:07 PM

First congratulations for an excellent software, I manage a large group of servers and have been postponing doing something like your code for a long time. Now I don’t need to look any further!

On another project I’m using virtual channels to exchange data between the client and a remote application. It all works fine as long as there is a remote desktop window.



rdpc. SendOnVirtualChannel("CH001", "Message from client");


On the server side there is a running app connected to this channel (it’s a custom shell).

What I need to do is to launch a remote application without showing the remote desktop. I can do that by using:

rdpc.MsRdpClientShell.RdpFileContents = System.IO.File.ReadAllText("c:\\temp\\myServer.rdp");

Where myServer.rdp is an RDP file generated by TS Remote App Manager. Unfortunately it launches the remote application as expected (without desktop window) but virtual channels are gone. I get an error every time I try to use them.

Any ideas?

Best regards,


Mar 24, 2009 at 1:43 PM
@mjda. Am sorry didn't notice this discussion and haven't visited the page.

On your problem about Virtual Channel, sadly to say, I haven't explored that part yet, and if you could direct me into some nice code sample on how to use this, I could add a Virtual Channel feature on this project and probably support your issue.

Sorry again.
- Jayson R.
Mar 25, 2009 at 2:12 PM

Hi Jayson,


I’m sending a demo solution about using virtual channels to exchange data between server and client.


This subject, I think, lies outside the scope of you excellent “Multi Remote Desktop Client .NET”. I just posted there because there is little documentations about (if possible) using virtual channels on remote applications.


My starting point was the presentation and code found on  (Search for "Terminal Server API") from Dr. Tritsch ( .


To run my sample:

·         Server 2008 in terminal services mode

·         Client Vista with SP1 (RDP client 6.1)

·         Copy the server exec to somewhere on the server

·         Publish it using “TS Remote App Manager”

·         Run the client (don’t forget to update credentials, server, etc).


The program starts a remote session, launches the remote App and both apps are able to exchange data using virtual channels.


My goal: launch the remote app without the remote desktop window. I’m able to do this using an RDP file but in that case I cannot set the channels. I’m hosting a remote application on a datacenter and the server app is the shell to this system. In order to make it more pleasant I use it as a remote app so it fits nicely on clients desktop as if it was just another local program window. I would like to use channels to control some hardware on the client but in that case I must resort to use a remote desktop.


Again, I’m sorry to bother you with this off topic subject.


Best  regards,

Manuel Alves

Mar 26, 2009 at 1:53 AM
Hi Manuel Alves,

That's ok! I think Virtual Channel is a great feature for this project.

I will review the codes and check the links you gave ASAP.

Thank you!
- Jayson R.
Nov 13, 2009 at 3:45 PM

Hey Guys,

Although this discussion list looks a bit old.. I hv a query regarding RDPClient... Jayson I looked your application "Multi Remote Desktop Client .Net", where you can open multiple RDCs in a single Windows application, I need a very similar thing, I want to open multiple remote apps in one windows application/ web page. Any ideas...??


Thanks and Regards,

Gaurav Arya