![](/img/trans.png)
[英]Open Windows Explorer from VB.NET: doesn't open in the right folder
[英]VB.net closing folder - doesn't work when IE open
我遇到的奇怪问题。
我正在使用以下代码查找打开的文件夹并关闭它
Dim sh = CreateObject("shell.application")
For Each item In sh.Windows
If item.document.folder.self.Path = DBFolder Then
item.Quit()
End If
Next
这是很奇怪的部分,除非打开Internet Explorer窗口,否则它会按预期工作。 IE打开后,出现以下错误:
Microsoft.VisualBasic.dll中发生了类型为'System.MissingMemberException'的未处理的异常
附加信息:找不到类型为“ HTMLDocumentClass”的公共成员“文件夹”。
我个人不使用IE,但是我的用户可能这样做,如果我进行部署,这会引起问题。 有人有解决方法或建议吗?
这是预期的行为,您将选择任何打开的资源管理器或Internet资源管理器窗口。 您可以通过添加引用来处理这个mshtml
在Microsoft HTML对象库,也SHDocVw
在Microsoft Internet控制。
Add Reference > COM > Type Libraries > Microsoft HTML Object Library
Add Reference > COM > Type Libraries > Microsoft Internet Controls
Dim sh As New SHDocVw.ShellWindows
For Each item In sh
If Not TypeOf item.Document Is mshtml.HTMLDocument Then
MessageBox.Show("it is not an IE window! " + item.Path())
Else
MessageBox.Show("it is an IE window!" + item.Path())
End If
Next item
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.