I use VS 2010 Ultimate.
I’m trying to add “shdocvw.dll” to my project’s references by right clicking References -> Add Reference…, then clicking Browse and navigating to “C:\Windows\System32\shdocvw.dll”, but when I click the Add button nothing happens at all. The dialog doesn’t even close.
Any idea what could I be doing wrong?
I tried restarting VS but kept having this problem.
In your C# solution, if you add a reference to the COM component named “Microsoft Internet Controls”, you should be able to access the SHDocVw namespace from a C# console app, without having to do anything unusual.
Once I did that (in VS 2008) I was then able to use SHDocVw.ShellWindows, SHDocVw.IWebBrowser2, and so forth. For example:
EDIT: When using VS 2012/.NET 4.x, you can use the approach below instead, to work around the error “Interop type ‘SHDocVw.ShellWindowsClass’ cannot be embedded.”
For more information on the VS 2012 issue, see this answer:
C# How to get current URL from the IE?