All hail the Probe!
I have solved the dialog box problem. Here is an addon which allows you to enter the needed values through a network socket instead.
The reason I used a socket, is that (1) you cannot easily tell which MFD triggered the dialog box, so you don't know which client you should render the dialog box to; (2) I did not feel like writing a code which would render the dialog boxes to VNC framebuffer, (3) although VNC can take keyboard input, keyboard input on tablets is not very convenient and (4) by separating this functionality from VNCMFD, you can use it with another display solution (such as WebMFD).
But you can now write a "Mission Control" application which uses a VNC client component for displaying the MFD screen and pops up dialog boxes when it receives data from this add-on.
Usage description (short): install & enable the addon, use e.g. PuTTY to connect to port 31337 (TCP) and have fun
Thanks to:
-
Martin Schweiger for Orbiter and for having no objections to this add-on
-
cjp, who first reverse engineered the dialog code in Orbiter 2006 (
http://www.orbiter-forum.com/showthread.php?p=57223&postcount=55 ) and the published the FreeOrbit MFD, which made my disassembly efforts much easier
-
Hex-Rays SA for the excellent IDA Pro disassembler / debugger, and providing the freeware version
-
Microsoft Research for the excellent Detours Express library which I used for patching the orbiter core
-
Microsoft for the excellent Visual Studio Express compiler
Readme file is below; the add-on (source & DLL) is atatched.