Dear list

For a customer I'm building a GUI for a analytical application. The
analytical algorithm is confidential and implemented in a seperate .exe
program.  However I am very pleased to have the customer agreeing to build
all of the surrounding application in Ruby.

The problem comes when calling the .exe program from my GUI-application.  
As of today I simply use the bactick operator to call the .exe with
appropriate input:

     result = `calculate.exe 1,2,3,4,5,6 `
     
The result from calculate.exe is written to screen and stored as result.  
On a typical run, a couple hundred of these are executed, and everything
works fine except one simple detail:

Every calculation opens and closes a unique DOS-window. 

No need to elaborate, you all understand how 200 blinking DOS-windows does
not look good. The number to aim for here is 0. How can this be done?

Ideas: 
  I) Spawn each execution in the background.
  II) Don't communicate over write to screen / read from screen
    - SOAP? 
    - XML-RPC?
    - CORBA?
  III) Windows service?
  
Some degrees of freedom exist as the customer is quite skilled and willing
to make _some_ modifications. calculate.exe is written in c#.

If anyone has any ideas, I would be very glad for all suggestions.

All the best
Jon Egil Strand