Nicht schön - aber einfach mal anschauen ...
Anwendung:
Spoiler anzeigen
#Region Includes
#include <Constants.au3>
#include <FF.au3>
#include <GUIConstantsEx.au3>
#EndRegion Includes
$hGui = GUICreate('Embedded FF ', 800, 600)
$hBut1 = GUICtrlCreateButton("Autoit.de", 10, 550)
$hBut2 = GUICtrlCreateButton("About Mozilla", 70, 550)
GUISetState()
_FFCreateEmbedded($hGUI, 10, 10, 780, 500)
[/autoit] [autoit][/autoit] [autoit]_FFOpenURL("autoit.de")
[/autoit] [autoit][/autoit] [autoit]While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
_FFQuit()
Exit
Case $hBut1
_FFOpenURL("autoit.de")
Case $hBut2
_FFAction("about", "mozilla")
EndSwitch
WEnd
Funktion dazu:
Spoiler anzeigen
Func _FFCreateEmbedded($hGUI,$x, $y, $width, $height, $iTimeOut = 10000)
Local $sFuncName = "_FFCreateEmbedded"
Local $OK
Local $sHKLM = "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox"
Local $sFFExe = RegRead($sHKLM & "\" & RegRead($sHKLM, "CurrentVersion") & "\Main", "PathToExe")
WinSetOnTop($hGUI,"",1)
[/autoit] [autoit][/autoit] [autoit]Run($sFFExe, "", @SW_HIDE)
Local $iTimeOutTimer = TimerInit()
While 1
Sleep(500)
If ProcessExists($_FF_PROC_NAME) Then ExitLoop
If (TimerDiff($iTimeOutTimer) > $iTimeOut) Then
SetError(__FFError($sFuncName, $_FF_ERROR_Timeout, "Browser process not exists: " & $_FF_PROC_NAME))
Return ""
EndIf
WEnd
Do
_FFConnect()
$OK = @error
If @error Then _FFDisConnect()
Until Not $OK
Local $hFF = _FFWindowGetHandle()
WinMove($hFF, "", $x, $x, $width, $height)
Do
_FFAction("pm", True)
Until Not @error
WinMove($hFF, "", $x, $x, $width, $height)
DllCall("user32.dll", "int", "SetParent", "hwnd", $hFF, "hwnd", $hGui)
WinSetOnTop($hGUI,"",0)
Return $hFF
EndFunc