views:

277

answers:

4

Hello. I have an application that people use through Remote Desktop/Terminal Server. The application supports digital signatures. Well, the digital signature pad is on the client, but the program runs on the server. The signature pad also does not support being shared as a device through Remote Desktop(not listed with "Supported Plug And Play Devices" in local resources).

What is the best way of being able to send the signature to the server from the client machine? Preferably with having the least amount of setup for the users(there are a lot of clients and a fair amount of servers this must be done for)

My best idea so far is sharing the clipboard and using it to send messages from server to client(with the client application "polling" the clipboard for a special clipboard format) I feel like this may not be very fast or stable though as I don't think Remote Desktop was designed for it.

Also, we are open to [reasonable] language choices like C/C++, C#, Delphi(the application is written in this), etc. Also, the signature pad is a Topaz TS460(connects by USB).

Can anyone give me ideas on how this can be done or if the clipboard idea of mine is probably the best?

tl;dr: What is the best way of sending an image from a client to a server through remote desktop?

Update:

Well, I've done a bit of testing with plain ASCII text(I can't get files to transfer) and it seems that there is problems copying large amounts of text. I tried copying 43M of text and after a long period of waiting I just got an empty clipboard(Like it did a paste, but there was no text pasted) I was able to transfer about 2M of data though (at decent speeds) between server and client, so this may be feasible for signature images(which will be either jpeg or png compressed)

A: 

I have not tried with Remote Desktop, but one thing that comes to mind is installing a good macro tool on the client. AutoHotKey ( http://www.autohotkey.com/ ) is a free tool that lets you create runable scripts that can do things like open applications and send key strokes to them.

I'm not sure how well it would work with remote desktop, but I know for certain that you can easily setup a script that would launch an application, send it "key strokes" to generate data, copy the data to the clipboard, switch to another application and then paste in the data.

When AutoHotKey is installed, you have the option of associating the file types of the scripts with the app so that end users could just double click your scripts desktop icon to run it. No command line messyness for them.

Al Crowley
How would I be able to transfer an image of a signature with autohotkey? And we are managing the installation and such on each machine(server and client). I fail to see how this answer is relevant.
Earlz
Sorry, to me a "digital signature" is a cryptographic hash of a document. I didn't read carefully enough to see that you wanted an image of a human signature.Autohotkey would allow you to cut and paste the image from app to app. (as I said, I don't know if remote desktop will get in the way) In the best case you should be able to cut-and-paste the signature image from the client tool to the server. In the worst case, you might need to take a screen grab, crop the signature out and then paste just that. I wouldn't recommend the latter though...
Al Crowley
+2  A: 

Have you looked into using Remote Desktop Virtual Channels? http://msdn.microsoft.com/en-us/library/aa383509%28VS.85%29.aspx

Jon Benedicto
A: 

If all you need to do is transfer an amount of data (a file) from the client to the server it is fairly easy. Polling for a file seems also more logical as polling via the clipboard.

When you connect the client should enable sharing a harddisk (at least one). You can specify the options every time you connect, or you can send the client a .RDP file that is preconfigured.

If you can get the user to put the file on a fixed position, you can access the file C:\Shared \File.jpg using a path like \tsclient\c\Shared\File.jpg.

GvS
A: 

Here's an explanation (with nice screenshot) how to copy files with Remote Desktop: http://www.jakeludington.com/ask%5Fjake/20051218%5Fcopying%5Ffiles%5Fwith%5Fremote%5Fdesktop.html

I wasn't sure if your question rules already out this approach or not.

Dan J
I want to do this in a programmable way that is transparent(for the most part) to the users.
Earlz