熟悉SHDocVw的进来看看

hjcy_2002 2010-07-05 09:17:38
我有一个简单程序,在安装了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
}
}

非常奇怪,请知道的兄弟不吝赐教。
...全文
245 点赞 收藏 8
写回复
8 条回复
okkk_退出 2012年06月25日
mshtml.HTMLDocumentClass 没有发布。COM接口无法解析。
建议楼主不要用COM接口操作IE内部对象。
回复 点赞
龍五1618 2012年06月21日
你引用了mshtml的运行库,.net35本身中没有这个运行库,那么你自己就要在封装程序的时候添加上这个运行库。
VS里面带了一部分运行库,为了方便编程用的。
但是没有装VS的机子上就没有这个运行库,你当然得自己封装了。
回复 点赞
蒋晟 2010年07月05日
随程序发布Microsoft.mshtml.dll
回复 点赞
hjcy_2002 2010年07月05日
没有引用Microsoft.mshtml,就是不work啊
回复 点赞
myhope88 2010年07月05日
没弄过,帮顶下
回复 点赞
amandag 2010年07月05日
是否引用了mshtml.dll(添加引用--.NET选项卡--Microsoft.mshtml)
回复 点赞
hjcy_2002 2010年07月05日
楼上的,我指的是ie.Document.ToString()这个值
回复 点赞
liujintaozyc 2010年07月05日
MessageBox.Show这就是一个弹出对话框 具体你可以上msdn上查查 也比较简单
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告