当前位置:编程学习 > C#/ASP.NET >>

熟悉SHDocVw的进来看看

我有一个简单程序,在安装了VS2008的机器上运行正常,但是在没有安装VS2008,只安装.Net FrameWork3.5的机器上运行异常,请大家帮忙看一看,谢谢。分不够,再加!
首先,添加对ShDocVw的引用,然后在程序中调用

            SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass();
            
            foreach (SHDocVw.InternetExplorer ie in shellWindows)
            {
                System.Windows.Forms.MessageBox.Show(ie.LocationURL);
                string filename = System.IO.Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
                if (filename.Equals("iexplore"))
                {
                System.Windows.Forms.MessageBox.Show(ie.Document.ToString());  //在未装VS2008的机器上,ie.Document这个属性是System._Object,但是在装了VS2008的机器上ie.Document的属性是mshtml.HTMLDocumentClass
                }    
            }

非常奇怪,请知道的兄弟不吝赐教。 --------------------编程问答-------------------- MessageBox.Show这就是一个弹出对话框  具体你可以上msdn上查查  也比较简单 --------------------编程问答-------------------- 楼上的,我指的是ie.Document.ToString()这个值 --------------------编程问答-------------------- 是否引用了mshtml.dll(添加引用--.NET选项卡--Microsoft.mshtml) --------------------编程问答-------------------- 没弄过,帮顶下 --------------------编程问答-------------------- 没有引用Microsoft.mshtml,就是不work啊 --------------------编程问答-------------------- 随程序发布Microsoft.mshtml.dll --------------------编程问答-------------------- 你引用了mshtml的运行库,.net35本身中没有这个运行库,那么你自己就要在封装程序的时候添加上这个运行库。
VS里面带了一部分运行库,为了方便编程用的。
但是没有装VS的机子上就没有这个运行库,你当然得自己封装了。 --------------------编程问答-------------------- mshtml.HTMLDocumentClass 没有发布。COM接口无法解析。
建议楼主不要用COM接口操作IE内部对象。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,