我正在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。