Search code examples
internet-explorercomiwebbrowser2

How do I create a low-integrity instance of Internet Explorer using CoCreateInstance?


From a standard, non-elevated, medium-integrity process, I need to create an instance of Internet Explorer 7 on Windows Vista, and I need to use CoCreateInstance to do it. I've tried using techniques like those outlined in this thread, but I've been having some challenges. I'm able to lower a thread's integrity level, and use CoCreateInstance to launch an IE instance, but the instance remains at medium integrity level. If I supply CLSCTX_ENABLE_CLOAKING to CoCreateInstance, I get a failed HRESULT (0x80080005). What am I missing? Does anyone know of a start-to-finish working example of this?


Solution

  • The need to use CLSCTX_ENABLE_CLOAKING is specific only to IE7 on Windows Vista. My normal development environment is Windows 7, which shipped with IE8, which causes the 0x80080005 HRESULT.