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

C++ 通过IE控件禁用IE脚本调试,c++,debugging,internet-explorer,screen-capture,C++,Debugging,Internet Explorer,Screen Capture,呜呜;知道如何提问总是最难的,所以我再解释一下 我正在使用CAxWindow在内部创建一个IE窗口,并通过string类参数传入URL: CAxWindow wnd; m_hwndWebBrowser = wnd.Create(m_hWnd, rect, m_URI, WS_CHILD|WS_DISABLED, 0); 这是一个自动化工具的一部分,任何人都可以从“内部”基于javascript的应用程序中获取图像;问题是,有些人试图从他们的应用程序中获取有很多错误的图像;错误会在IE调试窗口中

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

我正在使用CAxWindow在内部创建一个IE窗口,并通过string类参数传入URL:

CAxWindow wnd;
m_hwndWebBrowser = wnd.Create(m_hWnd, rect, m_URI, WS_CHILD|WS_DISABLED, 0);
这是一个自动化工具的一部分,任何人都可以从“内部”基于javascript的应用程序中获取图像;问题是,有些人试图从他们的应用程序中获取有很多错误的图像;错误会在IE调试窗口中触发,我的捕获实用程序会等待输入


起初,我认为我可以通过windows中的IE禁用调试功能,但是Apache运行的进程,因此我的应用程序是通过系统帐户进行的;不知道如何在不破坏注册表的情况下更改调试选项。

是否可以将所有内容都包装在该URL的CAxWindow中显示的javascript代码中的try/catch中?这将允许您消除所有错误,希望如此。

是否可以在该URL的CAX窗口中显示的javascript代码中用try/catch包装所有内容?这将允许您消除所有错误,希望如此。

将您的应用程序链接到或其他API挂钩库,从advapi32中挂钩
RegQueryValue
函数,并在IE查询注册表项
“HKCU\Software\Microsoft\internetexplorer\Main\Disable Script Debugger”的值时返回“yes”

将您的应用程序链接到或其他API挂接库,从advapi32挂接
RegQueryValue
函数,并在IE查询注册表项值时返回“yes”
“HKCU\Software\Microsoft\internetexplorer\Main\Disable Script Debugger”
我在CodeProject上发现了一些类似的项目

以及一篇有关web浏览器定制的MSDN文章:

我发现我想要的是两个接口:IOleCommandTarget和IDocHostUIHandler;我需要重写UI处理程序,解释脚本异常消息,并用“false”响应,以表示我不关心错误

不幸的是,我花了太多的时间让我的头回到COM,并试图让他们的可怕的系统设置,我无法完成它,并在与我的老板讨论后,花更多的时间试图让这个工作或只是禁用IE调试;我们选择了后者

3字;我讨厌COM:-p(微笑不算数)


我认为我所走的道路将解决我所面临的问题,我的回答可以作为一个“答案”;很抱歉,如果这不是您想要的。

我在CodeProject上找到了一些类似的项目

以及一篇有关web浏览器定制的MSDN文章:

我发现我想要的是两个接口:IOleCommandTarget和IDocHostUIHandler;我需要重写UI处理程序,解释脚本异常消息,并用“false”响应,以表示我不关心错误

不幸的是,我花了太多的时间让我的头回到COM,并试图让他们的可怕的系统设置,我无法完成它,并在与我的老板讨论后,花更多的时间试图让这个工作或只是禁用IE调试;我们选择了后者

3字;我讨厌COM:-p(微笑不算数)


我认为我所走的道路将解决我所面临的问题,我的回答可以作为一个“答案”;如果不是您想要的,很抱歉。

尝试过;虽然抛出了一个“异常”,但它已经通过web浏览器UI进行了处理;虽然抛出了一个“异常”,但它已经通过web浏览器UI进行了处理。我指的是HTML中的一个try catch,而不是调用htmlOnly MS的代码可以在其URL中使用括号:-pOnly MS可以在其URL中使用括号:-p