我需要知道我们如何使用vb.net最小化已打开的Internet Explorer浏览器。到处都是我只能找到代码来最小化表单而不是Web浏览器。任何帮助将不胜感激。提前致谢。如何通过vb.net最小化已经打开的IE浏览器?
-3
A
回答
1
以下是如何操作。但请记住这是WindowsAPI。在做任何严肃的事情之前,你应该阅读并且学习更多。
Imports System.Runtime.InteropServices
Public Class Form1
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
Private Shared Function ShowWindow(ByVal hwnd As IntPtr, ByVal nCmdShow As ShowWindowCommands) As Boolean
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim hWnd As Long = Process.GetProcessesByName("iexplore").First().MainWindowHandle
ShowWindow(hWnd, ShowWindowCommands.ForceMinimize)
End Sub
Enum ShowWindowCommands As Integer
Hide = 0
Normal = 1
ShowMinimized = 2
Maximize = 3
ShowMaximized = 3
ShowNoActivate = 4
Show = 5
Minimize = 6
ShowMinNoActive = 7
ShowNA = 8
Restore = 9
ShowDefault = 10
ForceMinimize = 11
End Enum
End Class
我会解释。
第一行中的导入需要使用DllImport,随后将使用它。以<DllImport
开头的代码行从user32.dll
导入函数。由于我们将与外部应用程序一起工作,因此我们从Windows API提供的支持来管理这些服务。
我们正在使用的功能具有最小化,最大化,隐藏或恢复外部窗口的功能。代码末尾的Enum
中列出了可能的替代方案。 pinvoke.net很好地列出他们做什么,如果你需要偷看。
该代码只是简单地指定一个按钮点击完成所有工作,但当然,这是一个例子,您应该根据需要更改它。
然后,我们得到我们需要的过程,这里是iexplore
,用于Internet Explorer。您可以在任务管理器中找到它或在命令提示符下输入tasklist
命令。但使用它没有.exe
部分。当我们获得这个过程时,我们会收到一个列表:当然,iexplore
的多个实例可能正在运行!我提取了第一个。 (但要小心,如果没有iexplore
正在运行,它会抛出一个错误 - 处理该错误。)
然后,获取主窗口的句柄! What is a handle, btw?
使用ShowWindow(hWnd, ShowWindowCommands.ForceMinimize)
可以最大限度地减少带有API的Internet Explorer。 (。我不得不强迫它没有与Minimize = 6
值工作)
更多here on pinvoke和here on MSDN
编辑:
OMG! Internet Explorer是多进程的! 而不是最小化第一,尽量减少它们!
更改代码中Button1_Click
到:
For Each p In Process.GetProcessesByName("iexplore")
' Since Internet Explorer always has its name in the title bar,
If p.MainWindowTitle.Contains("Internet Explorer") Then
Dim hWnd As Long = p.MainWindowHandle
ShowWindow(hWnd, ShowWindowCommands.ForceMinimize)
End If
Next
相关问题
- 1. 通过WCF打开IE浏览器
- 2. 硒|附上已经打开的浏览器(IE),以webdriver的
- 3. 打开的文件已经在窗口浏览器中打开
- 4. 如何使用selenium webDriver最小化IE浏览器的窗口?
- 5. 打开用户的浏览器,或者如果该网站已经开通
- 6. 通过服务器打开浏览器
- 7. 最小化浏览器
- 8. 通过浏览器打开文件
- 9. 我可以打开一个新的浏览器窗口,最小化打印对话框已打开吗?
- 10. 检查已经打开的浏览器和URL
- 11. 硒的webdriver饼干/使用Web浏览器已经打开
- 12. 默认打开IE浏览器
- 13. 连接到已打开的浏览器
- 14. 硒打开浏览器已经关闭,我仍然记录在
- 15. 我的网站可以通过Chrome打开,但不能通过IE浏览器打开
- 16. 通过cmd打开网址,无需打开浏览器
- 17. 如何开发IE浏览器插件
- 18. XAMARIN Android C#如何通过应用程序打开浏览器
- 19. 如何在浏览器中通过其Uri打开html文档
- 20. 如何通过浏览器打开VLC与PHP键(Mac OS X)
- 21. phonegap jquerymobile:如何通过Android浏览器打开外部链接
- 22. 单点登录通过IE浏览器
- 23. 如何通过浏览器
- 24. 如何知道浏览器选项卡是否已经使用Javascript打开?
- 25. VB.NET - 检查浏览器的网址是否已经改变
- 26. 打开浏览器
- 27. 是否有可能通过机器人框架访问已经打开的浏览器?
- 28. 从Outlook打开“小”浏览器
- 29. 如何识别已打开浏览器的对象?
- 30. 硒Python最小化浏览器窗口
thanx的快速反应Wickramaranga并为代码的详细说明:)但它并没有减少我的IE浏览器:( – anonymous21
@ anonymous21编辑 – Wickramaranga
它的工作原理谢谢! ) – anonymous21