Что нового

Проблема со сварачиванием/скрытием окна программы

prokazzza

Новичок
Сообщения
160
Репутация
2
Привет всем!. Перепробовал множество вариантов, но вот эта программа (прикрепил в аттач) никак не хочет ни сворачиваться, ни скрываться, даже не знаю что делать, может у кого-нить есть варианты или хотя бы может получится открыть окно за "пределами экрана" :'( ???
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
Всё работает.
Код:
If WinExists('[CLASS:MW2_HOST_TOOL]') Then
	$hWhd = WinGetHandle('[CLASS:MW2_HOST_TOOL]')
	WinActivate($hWhd)
	WinSetState($hWhd, "", @SW_MINIMIZE)
	Sleep(3000)
	WinSetState($hWhd, "", @SW_RESTORE)
EndIf
 
Автор
P

prokazzza

Новичок
Сообщения
160
Репутация
2
Garrett

Чет не робит, вместо него закрывается окно проводника. :-\
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
prokazzza [?]
закрывается окно проводника
А вы саму программу mw2_host.exe перед этим запускаете?


Добавлено:
Сообщение автоматически объединено:

Добавил условие проверки окна на существование.
 

Zaramot

I ♥ AutoIt
Сообщения
1 160
Репутация
659
Свернуть:
Код:
$handle = WinGetHandle('MW2 Host Tool')
WinWait($handle)
WinSetState($handle, '', @SW_MINIMIZE)
Sleep(3000)
WinSetState($handle, '', @SW_RESTORE)



Скрыть:
Код:
$handle = WinGetHandle('MW2 Host Tool')
WinWait($handle)
WinSetState($handle, '', @SW_HIDE)
Sleep(3000)
WinSetState($handle, '', @SW_SHOW)

или так:
Код:
$handle = WinGetHandle('MW2 Host Tool')
WinWait($handle)
WinSetTrans($handle, '', 0)
Sleep(3000)
WinSetTrans($handle, '', 255)
 

VladUs

Скриптер
Сообщения
621
Репутация
181
Попробуйте так
Код:
#include <SendMessage.au3>

$hwnd = WinGetHandle("MW2 Host Tool")
$WM_SYSCOMMAND = 0x0112
$SC_MINIMIZE   = 0xF020
$SC_RESTORE    = 0xF120
_SendMessage($hwnd,$WM_SYSCOMMAND,$SC_MINIMIZE)
Sleep(3000)
_SendMessage($hwnd,$WM_SYSCOMMAND,$SC_RESTORE )
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
prokazzza,
У меня нет никаких проблем с Вашим файлом(окном)
Код:
Opt('WinWaitDelay', 0)

Run(@ScriptDir & '\mw2_host.exe')
$hWindow = WinWait('[Title:MW2 Host Tool;Class:MW2_HOST_TOOL]', '', 3)
If $hWindow Then
	ToolTip('Окно открыто', 0, 0)
	Sleep(2000)
	For $i = 1 To 5
		WinSetState($hWindow, '', @SW_MINIMIZE)
		ToolTip($i & ' Окно свернуто', 0, 0)
		Sleep(2000)
		WinSetState($hWindow, '', @SW_RESTORE)
		ToolTip($i & ' Окно развернуто', 0, 0)
		Sleep(2000)
		WinSetState($hWindow, '', @SW_HIDE)
		ToolTip($i & ' Окно не видно', 0, 0)
		Sleep(2000)
		WinSetState($hWindow, '', @SW_SHOW)
		ToolTip($i & ' Окно видно', 0, 0)
		Sleep(2000)
	Next
	WinClose($hWindow)
	If ProcessExists('mw2_host.exe') Then ProcessClose('mw2_host.exe')
Else
	MsgBox(16, 'Error', 'Нет такого окна')
EndIf
 
Автор
P

prokazzza

Новичок
Сообщения
160
Репутация
2
Спасибо всем за примеры !
 
Верх