vb.net在Internet Explorer和Excel之间更改活动窗口



我正在VB.NET中编写一个打开Excel和Internet Explorer的程序。为了向这些程序发送密钥,我需要将其中一个程序的窗口带到前台。并且与另一个相比要相同好几次。

我该怎么做?

打开Excel:的代码

xlsApp = New Excel.Application
xlsApp.Visible = True
xlsWorkBooks = xlsApp.Workbooks
xlsWB = xlsWorkBooks.Add() 'Open("T:Dados_de_AplicativosTravel_Findertexte.xlsx")
xlsWS = xlsWB.Sheets(1)

打开IE:的代码

Dim IE As SHDocVw.InternetExplorer
IE = CreateObject("InternetExplorer.Application")

打开IE后,我可以将Excel放在前台,这样做:

xlsApp.WindowState = Excel.XlWindowState.xlMinimized
If xlsApp.WindowState = Excel.XlWindowState.xlMinimized Then
xlsApp.WindowState = Excel.XlWindowState.xlMaximized
End If

但我找不到与IE浏览器类似的方法。

如果有解决方案,你能给我举个例子吗?

最简单的方法是使用应用程序名称或其PID来使用"AppActivate"。类似于:AppActivate("应用程序标题")或AppActivate,但如果窗口最小化,它将无法工作。

这篇文章如何使用AppActivate(ProcessID)恢复最小化的窗口可以帮助你。

你也可以使用Pinvoke。

最新更新