ShowWindow не будет устанавливать фокус или максимизировать - PullRequest
0 голосов
/ 14 сентября 2011

Следующий код не установит фокус на нужное мне окно IE и не увеличит его так, как он должен.

Option Explicit On
Public Class Form1
    Public Declare Auto Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
    Private Sub automateIE()
        Dim shellWindows = New SHDocVw.ShellWindowsClass()
        For Each ie As SHDocVw.InternetExplorer In shellWindows
            Dim isIE As Boolean = True
            Try
                Dim ie2 As mshtml.IHTMLDocument = ie.Document
            Catch ex As Exception
                isIE = False
            End Try
            If isIE Then
                If ie.LocationURL.Contains("url") Then
                    ShowWindow(ie.HWND, 3)
                    Exit For
                End If
            End If
        Next
    End Sub
End Class

1 Ответ

1 голос
/ 14 сентября 2011

Изменено (VB6)

Public Declare Auto Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

К (VB.NET)

Imports System.Runtime.InteropServices
...
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function ShowWindow(ByVal hwnd As IntPtr, ByVal nCmdShow As ShowWindowCommands) As Boolean
End Function
Enum ShowWindowCommands As Integer
    SW_MAXIMIZE = 3
    ...
End Enum

Благодаря комментарию Ганса Пассанта

...