none
WPF WebBrowser中如何启用ActiveX RRS feed

  • 问题

  • 需要访问的网页中用到了视频的ActiveX插件
    现在Navigate完了,网页中的ActiveX没有被启用,该怎么启用呢?
    3Q~
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年10月13日 7:12

答案

  • 该问题我已经解决了.....
    创建了一个WinForm的控件,嵌入了该网页上的ActiveX控件,用AXHost.
    然后在WPF中用WindwosFormsHost加载这个控件,初始化属性.
    然后再在WPF中的浏览器中浏览该网页,OK,问题解决.
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年10月21日 3:55

全部回复

  • 你好,

    我想问一下, 如果用IE打开这个网页的话, ActiveX控件能够正常工作吗?

    还有能否告诉我你的操作系统的版本 和 IE的版本? 因为XP SP2 后, ActiveX 控件有可能会被 “Local Machine Lock Down” 这个特性 Block掉。 你可以尝试下使用 “Mark of the Web” 来解决下你的问题。 MOTW 是用来强制网页运行在一个比 Local Machine Zone 限制更多的Zone上面。不过这种方法有个缺陷, 你要去在许多网页中添加markup。 如果网页内容不是你能控制的,这种方法也就没用了。 具体的引入MOTW的原因,你可以从MSDN文档上了解更多。

    同时,我在StackOverFlow上看见一个类似的问题, 最后作者通过包装网页的网址来解决了这个问题。你可以查看下这个问题。 并且尝试一下这个解决方案,能不能解决你的问题。


    regards,
    Bruce

    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年10月14日 2:16
  • 恩,用IE打开完全没有问题,可以正常工作..
    IE是IE8, xp sp3.
    现在有个问题.
    我在打开带有我WebBrowser的wpf程序之前,必须要用IE打开那张带有ActiveX插件的视频页并且不能关闭,这样WPF中的WebBrowser中的ActiveX才能正常工作.
    如果一关闭,WPF中的WebBrowser的ActiveX还是无法工作.
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年10月14日 17:54
  • 你的那个网页公网可以访问吗? 如果可以的话,能不能把网址发给我下? 我看下在我这边能不能重现这个问题.
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年10月15日 0:45
  • 这个公网访问不了...是内部的视频监视系统....我在IE6上也测试了下,问题是一样的...
    http://social.microsoft.com/Forums/zh-CN/wpfzhchs/thread/3256b0df-583b-4999-90e0-b0b6dbaef166
    这个是我原本的问题,但是发现有些站点可以跳过登陆页直接访问视频的页面,有些则不可以..
    因为是内部使用的,登陆的账户和密码是admin和12345,所以,想当用户打开WPF时,直接呈现视频页面,登陆的过程在后台完成..
    这里就不是很清楚该怎么用了.
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年10月15日 6:58
  • 恩,你尝试了我第一次给你的建议了没? 是否有用?

    从你所描述的特征来看, 我觉得当IE打开这个网页的时候,可能有些文件已经缓存下来,所以WebBrowser可以直接使用。 如果IE没有打开的话,你的ActiveX控件无法访问这些文件,导致ActiveX控件无法运行。 当然这只是我的猜想,其它情况也有可能。

    你可以用ProcessMonitor 查看下 当用IE打开这个网页,和用WebBrowser打开这个网页,查看下哪些文件被使用了。


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年10月15日 7:53
  • HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri + "doc/VideoPlay_chs.htm");
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream s = response.GetResponseStream();
                StreamReader sr = new StreamReader(s, Encoding.UTF8);
                string str = sr.ReadToEnd();


                //browser.Navigate(new Uri(uri + "doc/VideoPlay_chs.htm"));
                //browser.NavigateToStream(s);
                //browser.NavigateToString("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">" + str);
    我尝试了一下这三种Navigate的方法...
    第一种,当然,正常显示,但是ActiveX依旧不能使用。
    第二种,网页根本不能显示.
    第三种,网页编码和图片都不正确,并且vbscript和js调用使错误,ActiveX不能使用.


    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年10月16日 4:05
  • 目前我对这个问题没有更好的想法,你可以把这个问题发到IE8讨论组看看,我认为这应该是和IE 更为相关的一个问题。
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年10月16日 6:12
  • 这个问题不仅仅在IE8中出现...
    试试这个地址,搜狐的博客里面有个小纸条的ActiveX,我试了一下,也不能读出来..
    diedzealot.blog.sohu.com
    这个是我的博客,刚刚测试时用的...
    我用了WinForm的WebBrowser,WPF的WebBrowser和AxSHDocVw的WebBrowser,均不能使用..
    而且提示安装FlashPlayer的时候,该插件也不能安装.
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年10月18日 6:37
  • 该问题我已经解决了.....
    创建了一个WinForm的控件,嵌入了该网页上的ActiveX控件,用AXHost.
    然后在WPF中用WindwosFormsHost加载这个控件,初始化属性.
    然后再在WPF中的浏览器中浏览该网页,OK,问题解决.
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年10月21日 3:55