Что нового

AutoIt, из окна в браузер

Talany

Знающий
Сообщения
136
Репутация
11
Приветствую всех любителей AutoIt :IL_AutoIt_1:
Слышал что в AutoIt есть встроенная функция браузера :-\
У меня такая простенькая проблема (искал по темам нечего путевого не нашел)....
Есть GUI окно в котором выводятся какие-нибудь данные пример
Код:
#include <GUIConstants.au3>
GUICreate("", 300, 300)
GUICtrlCreateLabel ("выводятся какие нибудь данные", 10, 10)
GUICtrlCreateLabel ("еще выводится какойто текст", 10, 30)
GUICtrlCreateLabel ("и так далее.....", 10, 50)
GUICtrlCreateButton ("Next", 30, 80, 80, 40)
GUISetState (@SW_SHOW)
While 1
    $msg = GUIGetMsg()
    Select
	    Case $msg = $GUI_EVENT_CLOSE
		    ExitLoop
		EndSelect
	WEnd

В результате мне надо получить так чтобы при нажатии на кнопку, этоже окно становилось браузером и выходил по определенному адресу с определенными параметрами.
Заранее спасибо...
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
Такая возможность действительно есть, её можно реализовать через библиотеку IE.au3 или через COM объект Shell.Explorer.2:
Код:
#include <GUIConstants.au3>
#include <IE.au3>
GUICreate("IE object embedded", 500, 500)
GUICtrlCreateLabel ("выводятся какие нибудь данные", 10, 10)
GUICtrlCreateLabel ("еще выводится какойто текст", 10, 30)
GUICtrlCreateLabel ("и так далее.....", 10, 50)
$nbutton = GUICtrlCreateButton ("Next", 30, 80, 80, 40)
GUISetState (@SW_SHOW)
While 1
    $msg = GUIGetMsg()
    Select
		Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
		Case $msg = $nbutton
			$oIE = ObjCreate("Shell.Explorer.2") ; если без билиотеки IE.au3
			$oIE = _IECreateEmbedded() ; если с библиотекой IE.au3
			GUICtrlCreateObj($oIE,10,140,480,350) ; в любом случае
			_IENavigate($oIE,"http://autoit-script.ru/") ; с библиотекой
			$oIE.Navigate("http://autoit-script.ru/") ; без
	EndSelect
WEnd
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
Благодарю Nik_rus...
Очень помогла информация +
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
Еще возник впросик!
Как убрать из такого окна кнопку???

Код:
#include <GUIConstants.au3>
#include <IE.au3>
GUICreate("IE object embedded", 500, 500)
GUICtrlCreateLabel ("выводятся какие нибудь данные", 10, 10)
GUICtrlCreateLabel ("еще выводится какойто текст", 10, 30)
GUICtrlCreateLabel ("и так далее.....", 10, 50)
$nbutton = GUICtrlCreateButton ("Next", 30, 80, 80, 40)
GUISetState (@SW_SHOW)
While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
        Case $msg = $nbutton
            $oIE = ObjCreate("Shell.Explorer.2") ; если без билиотеки IE.au3
            $oIE = _IECreateEmbedded() ; если с библиотекой IE.au3
            GUICtrlCreateObj($oIE,10,10,480,480) ; в любом случае
            _IENavigate($oIE,"http://autoit-script.ru/") ; с библиотекой
            $oIE.Navigate("http://autoit-script.ru/") ; без
    EndSelect
WEnd
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
Talany
Вы уж определитесь, что вы будете использовать или Shell.Explorer.2, или IE.au3, которая также использует Shell.Explorer.2 :smile:

Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
$oIE = _IECreateEmbedded()
$hGUI = GUICreate("IE object embedded", 500, 500)
$hActiveX = GUICtrlCreateObj($oIE,10,10,480,480)
GUICtrlSetState (-1, $GUI_HIDE) 
$hLabel1 = GUICtrlCreateLabel ("выводятся какие нибудь данные", 10, 10)
$hLabel2 = GUICtrlCreateLabel ("еще выводится какойто текст", 10, 30)
$hLabel3 = GUICtrlCreateLabel ("и так далее.....", 10, 50)
$hButton = GUICtrlCreateButton ("Next", 30, 80, 80, 40)
GUISetState (@SW_SHOW)

While 1
    $Msg = GUIGetMsg()
    Switch $Msg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $hButton
			ControlHide("IE object embedded", "", $hLabel1)
			ControlHide("IE object embedded", "", $hLabel2)
			ControlHide("IE object embedded", "", $hLabel3)
			ControlHide("IE object embedded", "", $hButton)
			GUICtrlSetState ($hActiveX, $GUI_SHOW) 
			_IENavigate($oIE, 'http://autoitscript.com')
    EndSwitch
WEnd
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
Спасибо :laugh:
ControlHide - то что нужно!
я буду использовать и то и другое :whistle:
Благодарю...
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
Можно использовать и "родные" функции GUI:
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
$oIE = _IECreateEmbedded()
$hGUI = GUICreate("IE object embedded", 500, 500)
$hActiveX = GUICtrlCreateObj($oIE,10,10,480,480)
GUICtrlSetState ($hActiveX, $GUI_HIDE)
$hLabel1 = GUICtrlCreateLabel ("выводятся какие нибудь данные", 10, 10)
$hLabel2 = GUICtrlCreateLabel ("еще выводится какойто текст", 10, 30)
$hLabel3 = GUICtrlCreateLabel ("и так далее.....", 10, 50)
$hButton = GUICtrlCreateButton ("Next", 30, 80, 80, 40)
GUISetState (@SW_SHOW)

While 1
    $Msg = GUIGetMsg()
    Switch $Msg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $hButton
			GUICtrlSetState ($hLabel1, $GUI_HIDE)
			GUICtrlSetState ($hLabel2, $GUI_HIDE)
			GUICtrlSetState ($hLabel3, $GUI_HIDE)
			GUICtrlSetState ($hButton, $GUI_HIDE)
            GUICtrlSetState ($hActiveX, $GUI_SHOW)
            _IENavigate($oIE, 'http://autoitscript.com')
    EndSwitch
WEnd

Но это дело вкуса
 
Верх