If there is a task to provide interaction between communications application and your own program (e.g. serial device emulator), there is no common solution to accomplish it. It is considered that communications applications are intended to work only with hardware serial devices connected to physical serial ports. Virtual Serial Port Control is an ActiveX control which makes it possible to create virtual serial ports directly from your program and fully control them. At the same time virtual ports look like real hardware serial ports for all Windows applications. And any communications application can work with them as if they were physical ports. On the other hand, developer API provided by Virtual Serial Port Control allows your program to access data written to virtual serial port by communications application and to respond with your own data. The data will be read by communications application from virtual serial port as if they were read from a physical port. Event driven architecture is a snap to use. You don't have to check ports periodically in order to find if their state is changed or new data available for reading from a port. Simply define a function in your program that will be triggered automatically by the appropriate event and process the data. At the same time Virtual Serial Port Control immediately notifies your application about any actions done by communications application with serial port (port opening/closing, setting DTR/RTS handshake, baud rate setting, XON/XOFF symbols setting, etc). Virtual Serial Port Control provides developer with full control over virtual serial port. Everything that can be done with physical serial port by a serial device is possible to be done with virtual serial port by VSPC. What is more important, OEM license allows you to distribute this ActiveX control as part of your own application and you don't have to license every single copy.