Что нового

Скрыть и показать окно по нажатии на одну кнопку

Kolo6oK

Новичок
Сообщения
1
Репутация
0
Здрасте. Я новичок в Autoit, поэтому не могу найти ошибку. Помогите пожалуйста.
Код:
GUICreate("HideFire", 100, 100)

GUISetState(@SW_SHOW)

HotKeySet("{F5}", "_hide")

while 1
   $msg = GUIGetMsg()
   WEnd
   Func _hide()
   if WinExists("Opera") Then
	  WinSetState("Opera", "", @SW_HIDE)
   Else
	  WinSetState("Opera", "", @SW_SHOW)
	  EndIf
   EndFunc
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Re: Исправьте код ( ошибка в коде )

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Исправьте код ( ошибка в коде )" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Код:
HotKeySet("{F5}", "_hide")

Global $iState = False

GUICreate("HideFire", 100, 100)
GUISetState(@SW_SHOW)

While 1
    Switch GUIGetMsg()
        Case -3
	        Exit
	EndSwitch
WEnd

Func _hide()
	Local $sTitle = 'Opera'
    If WinExists($sTitle) Then
		If Not $iState Then
            WinSetState($sTitle, '', @SW_HIDE)
			$iState = True
        ElseIf $iState Then
            WinSetState($sTitle, '', @SW_SHOW)
            $iState = False
		EndIf	
	EndIf
EndFunc
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Я бы примерно так сделал.
Код:
HotKeySet('1', '_HideShow')
HotKeySet('2', '_Exit')

While 1
	Sleep(100)
WEnd

Func _HideShow()
	Local $h_Opera = WinGetHandle('[Class:OperaWindowClass]')
	If Not $h_Opera Then Return
	If BitAND(WinGetState($h_Opera), 2) Then
		WinSetState($h_Opera, '', @SW_HIDE)
	Else
		WinSetState($h_Opera, '', @SW_SHOW)
	EndIf
EndFunc   ;==>_HideShow

Func _Exit()
	Exit
EndFunc   ;==>_Exit
 
Верх