Pardon the vagueness.. but, this use case was a hosted web app, so it only exists in a browser. Some customers required the use of driver's license scanners in order to expedite their business process. Not using Active-X or something like it would've meant writing a whole new fat client UI for the group of users that needed the DL scanners. The simpler solution is to write a little shim and have the native code populate the previously existing form fields. Aside from feeling a little bit dirty, it worked pretty well.