Top.Mail.Ru
Ответы

Как в Visual Basic восстановить свернутое окно какой-либо программы и сделать его активным?

Есть какое-либо запущенное приложение в свернутом виде, допустим 123.exe

Задача такова:
При нажатии кнопки, окно восстанавливается и делается активным.

После этого через sendkeys я уже смогу послать комманду.

По дате
По рейтингу
Аватар пользователя
Оракул
12лет

Без проблем

Option Explicit

Private Const SW_MINIMIZE = 6
Private Const SW_MAXIMIZE = 3
Private Const SW_RESTORE = 9

Private Type POINTAPI
x As Long
y As Long
End Type

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Type WINDOWPLACEMENT
Length As Long
flags As Long
showCmd As Long
ptMinPosition As POINTAPI
ptMaxPosition As POINTAPI
rcNormalPosition As RECT
End Type

Private Declare Function GetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function SetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Command1_Click()
Dim WP As WINDOWPLACEMENT
Dim hWindow As Long

hWindow = FindWindow(vbNullString, "notepad") ''Твоя программа программы

WP.Length = Len(WP)

GetWindowPlacement hWindow, WP

WP.showCmd = SW_RESTORE

SetWindowPlacement hWindow, WP
End Sub