I have a VS2005/C#/.NET 2.0 application in which i'm hosting a web browser control. Think of it as a custom browser with an embedded IE brower control. I would like to offer a "record" and "playback" functionality for web page activity. Meaning- Say a user wants to record a certain sequence of actions like (just a raw example):
1) navigating into a certain web page
2) entering credential information
3) setting two radio buttons on that page
4) clicking login
5) [navigates to another page]
6) selecting a checkbox
7) clicking a button
8) [navigates to the final page]
when the user hits "record", I'd like to record these actions as the user browses and I'd also like to be able to play them back automatically when the user chooses to. I just want to make sure you understand: This is not some kind of hidden 'spy' application - the user chooses to do this while using my own special browser so there are no covert intentions whatsoever.
My question: how should I go about this. Trapping mouse and keyboard inputs and playing them back? comparing the HTML document from after initial loading, to pre-navigation to see what changed? how do I apply something like that back automatically? any help with direction would be greatly appreciated.