Что нового

[В контакте]обьект Shell.Explorer.2 не обрабатывает клики

winstan

Эксплотатор)
Сообщения
406
Репутация
79
В общем вот такой код (спасибо valldar за его создание)
работает в общем как нада, но почемуто при попытке клика на него мышкой клик не проходит (прохидит только двойной клик) как исправить?
Код:
#Include <GUIConstantsEx.au3>
#Include <WindowsConstants.au3>
#Include <IE.au3>
#Include <array.au3>


$oIE = ObjCreate("Shell.Explorer.2")

; Create a simple GUI for our output
$GUI = GUICreate("Embedded Web control Test", 780, 700,-1,-1,BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
GUICtrlCreateObj($oIE, 0, 0, 780, 675)
$GUI_Button_Back = GUICtrlCreateButton("Back", 10, 680, 100, 20)
$GUI_Button_Test = GUICtrlCreateButton("Test", 120, 680, 100, 20)
$GUI_Button_Home = GUICtrlCreateButton("Home", 230, 680, 100, 20)
$GUI_Button_Stop = GUICtrlCreateButton("Stop", 330, 680, 100, 20)

GUISetState() ;Show GUI

_IENavigate($oIE, "http://vk.com/app3069891")
$oFlashContainer = _IEGetObjById($oIE, 'apps') ; получаем объект, в котором содержится флэш
If @Error Then MsgBox(0, '', @Error)
$sHTML = _IEPropertyGet($oFlashContainer, "outerhtml") ; получаем HTML этого объекта
$aFlashvars = StringRegExp($sHTML, 'flashvars.*?value(.*?)</object>', 1) ; убираем лишнее
$aFlashvars_params = StringRegExpReplace($aFlashvars[0], '<param name="(.*?){1}" value="(.*?){2}">', ' $1="$2"') ; убираем лишнее
;_ArrayDisplay($aFlashvars)
$aFlashvars_params = StringRegExpReplace($aFlashvars_params, '&amp;', '&')  ; убираем лишнее
$aFlashvars_params = StringRegExpReplace($aFlashvars_params, '>', @LF)  ; убираем лишнее
$aFlashvars_params = StringRegExpReplace($aFlashvars_params, 'movie', 'src')  ; убираем лишнее
$width = StringRegExp($sHTML, 'width="(.*?)"', 1)
$height = StringRegExp($sHTML, 'height="(.*?)"', 1)
$HTMLtoWhrite = '<div id="flash_api_external_cont">' & _
        '<embed type="application/x-shockwave-flash" id="flash_app" name="flash_app" ' & _
		'wdith="' & $width[0] & '" height="' & $height[0] & '" preventhide="1" quality="high"' & _
        ' flashvars' & $aFlashvars_params & _
        ' style="width: ' & $width[0] & 'px; height: ' & $height[0] & 'px;"></div>'

;MsgBox(0, '', $sHTML)
;MsgBox(0, '', $aFlashvars_params)
;MsgBox(0, '', $HTMLtoWhrite)
_IEBodyWriteHTML($oIE, $HTMLtoWhrite)
$handle = GUICtrlGetHandle($GUI)
$clas = "[CLASS:Internet Explorer_Server; INSTANCE:1]"
; Waiting for user to close the window
While 1
    $msg = GUIGetMsg()
    
    Select
        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
        Case $msg = $GUI_Button_Home
            MsgBox(0,0,_IEBodyReadHTML($oIE))
        Case $msg = $GUI_Button_Back
            $oIE.GoBack
		 Case $msg = $GUI_Button_Test
			
			Sleep(20)
            ControlClick($handle, $handle, 0, "LEFT", 1, 20, 100)
			Sleep(20)
			ControlClick($handle, $handle, 0, "LEFT", 1, 20, 100)
			Sleep(20)
			ControlClick($handle, $handle, 0, "LEFT", 1, 20, 100)
			Sleep(20)
			ControlClick($handle, $handle, 0, "LEFT", 1, 20, 100)
			Sleep(20)
			
        Case $msg = $GUI_Button_Stop
            $oIE.Stop
    EndSelect
    
WEnd

GUIDelete()
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
winstan
Попробуйте то же сделать в обычном IE. Если будет норм, то проблема во встраиваемой версии :beer:
 
Верх