Как программу свернуть и развернуть????? Помогите Очень надо

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Netguard
Постоялец
Постоялец
 
Сообщения: 489
Зарегистрирован: 26.07.2002 (Пт) 13:31
Откуда: Russia

Как программу свернуть и развернуть????? Помогите Очень надо

Сообщение Netguard » 09.10.2003 (Чт) 20:00

Я знаю запускной файл программы. По имени нахожу номер запущеного процесса. Так как в токой ситуации свернуть программу если она развернута и развернуть если свернута?Я идиот! Убейте меня, кто-нибудь!???

amer
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 02.08.2003 (Сб) 19:41
Откуда: Воронеж

Сообщение amer » 09.10.2003 (Чт) 22:07

я не уверен, но может поможет это мне самому сегодня посоветовали
сворачивает окно - это точно (проверил)

Private Const SW_MINIMIZE = 6
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 ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
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
Dim Rectan As RECT
Private Sub Form_Load()
'Tip submitted by pyp99 (pyp99@hotmail.com)
Dim WinEst As WINDOWPLACEMENT
Dim rtn As Long
WinEst.Length = Len(WinEst)
'get the current window placement
rtn = GetWindowPlacement(Me.hwnd, WinEst)
Rectan = WinEst.rcNormalPosition
End Sub
Private Sub Command1_Click()
Dim WinEst As WINDOWPLACEMENT
Dim Punto As POINTAPI
Dim rtn As Long
'set the new min/max positions
Punto.x = 100
Punto.y = 100
'initialize the structure
WinEst.Length = Len(WinEst)
WinEst.showCmd = SW_MINIMIZE
WinEst.ptMinPosition = Punto
WinEst.ptMaxPosition = Punto
WinEst.rcNormalPosition = Rectan
'set the new window placement (minimized)
rtn = SetWindowPlacement(Me.hwnd, WinEst)
End Sub

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 10.10.2003 (Пт) 10:29

как ты узнаешь номер процесса пр запускному файлу???? скажи умоляю!

amer
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 02.08.2003 (Сб) 19:41
Откуда: Воронеж

Сообщение amer » 10.10.2003 (Пт) 23:38

меня умолять бесполезно, я мало знаю апи, извини, если наткнусь то нет проблем...

amer
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 02.08.2003 (Сб) 19:41
Откуда: Воронеж

Сообщение amer » 11.10.2003 (Сб) 0:01

http://vbrussian.com/Article.asp?ID=88
может поможет...

amer
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 02.08.2003 (Сб) 19:41
Откуда: Воронеж

Сообщение amer » 11.10.2003 (Сб) 0:18

это из форума по делфи:

Как программно свернуть все окна?
Воспользуйтесь API функцией sendmessage:
SendMessage(FindWindow('Shell_TrayWnd,nil'),wm_command,$019f,0); //свернуть
SendMessage(FindWindow('Shell_TrayWnd,nil'),wm_command,$0140,0); //отменить

Netguard
Постоялец
Постоялец
 
Сообщения: 489
Зарегистрирован: 26.07.2002 (Пт) 13:31
Откуда: Russia

Сообщение Netguard » 11.10.2003 (Сб) 8:52

Конечно спасибо что откликнулись. Но это все не то что нужно. Я не знаю номер заголовка окна и названия окна. Я знаю только номер процесса приложения. И зная его мне нужно всему приложению а не только окну сказать свернуться и развернуться. И к тому же знать свернуто приложение или нет. Так как это узнать?Я идиот! Убейте меня, кто-нибудь!Я идиот! Убейте меня, кто-нибудь!????

ZeroX
Бывалый
Бывалый
 
Сообщения: 207
Зарегистрирован: 29.04.2003 (Вт) 12:36
Откуда: Мой адрес не дом и не улица, мой адрес Советский Союз

Сообщение ZeroX » 11.10.2003 (Сб) 10:03

Ниже приведен код для проверки свернуто окно или нет

Код: Выделить всё
Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long

Private Function IsMinimized (ByVal Handle As Long) As Boolean
IsMinimized=CBool(IsIconic(Handle))
'Где параметр Handle - хендл окна, которое тебе проверить нужно
End Function

И скачай ApiGuide - http://www.mentalis.org/agnet/appdown.shtml
Каждый warning мечтает стать error'om


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Majestic-12 [Bot] и гости: 2

    TopList