Where does Internet Explorer store the history data, i.e. the list of URL that have been visited? I am using Windows XP SP3 and IE7. Basically I would like to read the list of URL and make some statistics on how often what pages are visited.
Internet Explorer seems to keep its history in hidden directories under C:\Documents and Settings\USERNAME\Local Settings\History\History.IE5. Note that some directories in this path are also marked hidden or system. The history's format is opaque, but there's code at CodeProject that can decode the contents. You can also find a list of typed URLs under HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs.
An easier alternative might be to setup an HTTP proxy between the IE and the internet, and then examine the proxy's log.
It's stored in the registry:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs
The correct way to do this is CoCreate(CLSID_CUrlHistory, IID_IUrlHistoryStg) and call IUrlHistoryStg::EnumUrls().