【问题标题】:Disable IE script debugging via IE control通过 IE 控件禁用 IE 脚本调试
【发布时间】:2009-02-16 11:06:14
【问题描述】:

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

我正在使用 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 帐户;不知道如何在不破解注册表的情况下更改调试选项。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 试过了;尽管抛出了“异常”,但它已经通过 Web 浏览器 UI 进行了处理。
      • 我指的是 HTML 中的 try catch,而不是调用 html 的代码
      【解决方案3】:

      我在 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 并试图设置他们的糟糕的系统,但我无法完成它,并且在与我的老板讨论了花更多时间尝试得到这个之后在 IE 中工作或只是禁用调试;我们选择了后者。

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

      我认为我所走的道路可以解决我遇到的问题,我的回答可以作为“答案”;抱歉,如果这不是您要查找的内容。

      【讨论】:

      • 只有 MS 可以在其 URL 中使用括号:-p
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      相关资源
      最近更新 更多