代码之家  ›  专栏  ›  技术社区  ›  Icemanind

取消WebBrowser控件中的“保存/打开”对话框

  •  3
  • Icemanind  · 技术社区  · 15 年前

    我有一个WebBrowser控件,它会自动将我登录到一个网站,并尝试自动下载csv数据。一切正常,除了当它试图下载csv数据时,它会弹出一个对话框,询问我是否要保存文件或打开它(就像在IE中一样)。我要做的是自动将csv文件下载到我选择的文件中(或者更好的方法是将csv文件直接保存到字符串变量中)。我似乎不知道如何抑制对话框并自动捕获下载。我已经搜索并找到了一些解决方案,但是它们对我不起作用,因为:

    1)我现在使用的是图形用户界面。所有这些都是在一个类中完成的(因此,像sendkeys这样的方法将不是一个可行的解决方案)

    2)下载来自安全站点,需要验证。WebBrowser控件为我处理所有这些,但是如果我使用WebRequest和WebResponse尝试捕获下载,我将不再获得身份验证。

    我用C语言。任何帮助都将不胜感激。

    3 回复  |  直到 11 年前
        1
  •  2
  •   Ruby8848    15 年前

    如果您熟悉C++内部结构,盛江的解决方案是最好的。

    否则,看看iMacros for Internet Explorer(=免费浏览器宏记录器插件)是如何做到的。好像他们用窗钩 suppress the IE download dialog .

        2
  •  4
  •   Sheng Jiang 蒋晟    11 年前

    您可以连接自己的IDownLoadManager实现,它可以安静地下载。对于Windows窗体,这意味着您需要重写WebBrowser.CreateWebBrowserSiteBase方法以提供扩展的控件站点。检查 Webbrowser Control Downloads 详情。

        3
  •  0
  •   Alex    15 年前

    您不能取消文件下载对话框,因为这将是一个主要的安全风险。如果你想让这个过程自动化的话,我建议你调查其他的途径,以验证你的请求。

    推荐文章