Intercept keystrokes going to Internet Explorer

I would like to intercept keystrokes which go to Internet Explorer.

We use a 3rd party vendor website program, which is an IE-only website.

My first idea was to automate the website a little, and I found the WatiN program ( can do that nicely (with a few modifications). It can attach to IE, examine the DOM, click any item I want it to click, and enter text in any field I want it to enter text in.

WatiN however is really designed to be an automated website testing program. It's not designed to be interactive with user input. It's designed to emulate user input.

My next idea is to gain more control over what the user enters. For example, one field we want the user to enter only uppercase letters; however, the vendor's wesite accepts lowercase letters as well. This causes us problems later on if the user enters lowercase letters. It would be nice if I could create a browser wrapper program which intercepts the keystrokes and converts any lowercase letters to uppercase letters just for that field on that one page that field is on.

I'm not sure if I can extend WatiN to also intercept keystroke events from the user going to IE.

Another idea I have is to create a simple Window Forms project which has the IE browser control in it, and have the user use that instead of regular IE. I'm not sure if that would give me the abilities I desire. I'm not familiar with the IE browser control.

Another idea is to create a BHO (Browser Helper Object) for IE. But I've read many negative things about those it doesn't seem like a good idea.

So I'm asking for suggestions on what would be a good direction to go with this project.
deleydSoftware EngineerAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Casey WeaverManaged Services Windows Engineer IIICommented:
I'm not sure how to go about your direct question, but I guess one thought would be does the vendor have any API's? Would you maybe be able to write a corporate internal web page that your users would use, that would feed data into the vendor? Then you would have complete control of the data being piped to the vendor.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Not sure what your asking for but I think you need to figure out front end from back end.
If your server code can't do a toUpper (as per your example) like for Canadian postal codes then there is a problem that can't be resolved.
However if your server wants to control the user input and make sure it is all upper case then javascript is your solution.
Are you capable of getting the onKeyPress event?
To many questions to give you a solution.
deleydSoftware EngineerAuthor Commented:
Intriguing idea creating our own website. This website we create would then somehow be a pass through to the real web site? I'm not sure how that would work. I've done websites before. Haven't done one that is just a go-between to another web site. Any further info on how that would work? Is there a name for such a pass-through website?
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Browsers

From novice to tech pro — start learning today.