通过IE控件禁用IE脚本调试

时间:2009-02-16 11:06:14

标签: c++ debugging internet-explorer screen-capture

的Bleh;知道如何提出问题总是最难的,所以我再解释一下。

我正在使用CAxWindow在内部创建IE窗口并通过字符串类参数传入URL:

CAxWindow wnd;
m_hwndWebBrowser = wnd.Create(m_hWnd, rect, m_URI, WS_CHILD|WS_DISABLED, 0);

它是任何人从其“内部”基于JavaScript的应用程序获取图像的自动化实用程序的一部分;问题是有些人尝试从他们的应用程序中获取有很多错误的图像;错误触发IE调试窗口,我的捕获实用程序等待输入。

最初我以为我可以在Windows中通过IE禁用调试功能但是Apache运行的过程因此我的应用程序是通过SYSTEM帐户;不知道如何在不破解注册表的情况下更改调试选项。

3 个答案:

答案 0 :(得分:0)

是否可以在jx代码中将所有内容包装在该URL中的CAxWindow中显示的javascript代码中?这将允许你压制所有的错误,希望。

答案 1 :(得分:0)

将您的应用与detours或其他API挂钩库链接,从advapi32挂钩RegQueryValue函数,并在IE查询注册表项"HKCU\Software\Microsoft\Internet Explorer\Main\Disable Script Debugger"的值时返回“是”。

答案 2 :(得分:0)

我在CodeProject上发现了一些类似的项目......

http://www.codeproject.com/KB/shell/popupblocker.aspx?fid=15235&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=51&select=646577

http://www.codeproject.com/KB/shell/popupblocker2.aspx?df=100&forumid=15709&fr=51&select=548519#xx548519xx

还有一篇关于Web浏览器自定义的MSDN文章:

http://msdn.microsoft.com/en-us/library/aa770041(VS.85).aspx

我发现我所追求的是两个名为的接口:IOleCommandTarget和IDocHostUIHandler;我需要覆盖UI处理程序并解释脚本异常消息并以“false”响应以指示我不关心错误;

不幸的是,我花了太多时间让我的头回到COM并试图让他们的上帝糟糕的系统设置我无法完成它并且在与我的bos讨论关于花更多时间试图获得这个工作或只是在IE中禁用调试;我们选择了后者。

3个字;我讨厌COM :-p(笑脸不算)

我认为我所走过的道路将解决我所遇到的问题,而我的回应可以作为“回答”作出贡献;对不起,如果它不是你想要的。