我有 Windows 7、Internet Explorer 8、Visual Studio 2008。我需要创建 Active X 窗口来显示来自其他站点的页面。我尝试在 IE 处于保护模式时创建 CAxWindow 窗口。如果当前站点不受信任,则返回拒绝访问错误 (5)。
新窗口类定义为:
class CNewWnd: public CWindowImpl<CNewWnd, CAxWindow, CWinTraits<WS_CHILD | WS_BORDER, WS_EX_TOOLWINDOW>>
创建新窗口实现为:
hWndContainer = Create(hParent, r);
其中 hParent 是浏览器的 HWND。结果 hWndContainer = NULL 并且 GetLastError() 返回 5。
MSDN 的文章“Understanding and Working in Protected Mode Internet Explorer”只描述了使用系统注册表、文件和进程——没有任何关于创建窗口的消息。