【问题标题】:vb.net Change active window between Internet Explorer and Excelvb.net 在 Internet Explorer 和 Excel 之间更改活动窗口
【发布时间】:2014-01-28 10:27:21
【问题描述】:

我正在用 VB.NET 编写一个可以打开 Excel 和 Internet Explorer 的程序。 为了向该程序发送密钥,我需要将其中一个程序的窗口置于前台。而且比其他的要好几倍。

我该如何继续这样做?

打开 Excel 的代码:

xlsApp = New Excel.Application
            xlsApp.Visible = True
            xlsWorkBooks = xlsApp.Workbooks
            xlsWB = xlsWorkBooks.Add() 'Open("T:\Dados_de_Aplicativos\Travel_Finder\texte.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 浏览器类似的方法。

如果有解决办法,可以举个例子吗?

【问题讨论】:

    标签: vb.net excel internet-explorer window foreground


    【解决方案1】:

    最简单的方法是使用应用程序名称或其 PID 来使用“AppActivate”。 类似:AppActivate("Application Title") 或 AppActivate(PID),但如果窗口被最小化,它将不起作用。

    这个帖子How to restore a minimized window using AppActivate(ProcessID)可以帮到你。

    您也可以使用 Pinvoke。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多