I am just curious as to where you are going with this...? I've been talking to a friend of mine about what we would like in a complete solution for multi-boxing and how we would design it. We are thinking along the lines of an I/O module dealing with keyboard and mouse hooking, application management and network communication.

The API of the module would be something along the lines of:

Keyboard Events
  • KeyDownEvent
  • KeyUpEvent

Mouse Events
  • MouseDownEvent
  • MouseUpEvent
  • MouseMoveEvent

Networking
  • EstablishConnection
  • DropConnection
  • SetConnectionBroadcasting

Application Management
  • AddApplication
  • RemoveApplication
  • StartApplication
  • MoveApplication
  • ResizeApplication
  • SetApplicationAffinity
  • SetApplicationBroadcasting


Not a comprehensive list, just spitballing. Once a simple intuitive API is available an interface can be built on top of it to surface most of the features.



SCRIPTING

Any plans to link in a scripting language like LUA, Python, JScript? The scripts can be linked to the I/O events in the I/O module.