Хочу заставить встроенный браузер IE из Window9 воспроизводить видео с помощью VLC-ActiveX (ставится при установленном VLC-плеере)
Код такой
Код
#Define UNICODE
#Include Once "disphelper/disphelper.bi"
#Include "window9.bi"
Dim Shared As Integer hwnd,event
Dim Shared As IDispatch Ptr ieApp
hwnd=OpenWindow("WebGadget",10,10,800,600) : CenterWindow(hwnd)
ieApp=WebGadget(1,10,50,760,500,"about",WS_VSCROLL Or WS_HSCROLL,WS_EX_CLIENTEDGE)
ButtonGadget(3,10,10,80,20,"SetHTML")
dhInitialize(TRUE)
dhToggleExceptions(TRUE)
WebGadgetNavigate(ieApp, "about:blank")
Do
event=WaitEvent()
If Event=EventClose Then
End
ElseIf Event=EventGadget Then
Select Case EventNumber
Case 3
Dim As String sVLC
Dim As Byte Ptr data_
Var handle=Read_file("C:\1.html")
If handle<>-1 Then
data_=Read_DataS(handle,Size_File(handle))
sVLC= PeekS(data_)
EndIf
Close_file(handle)
DeAllocate(data_)
dhPutValue(ieApp, ".Document.Body.innerHTML = %s", sVLC)
End Select
EndIf
Loop
В файле 1.html содержится такой код
Код
<OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab"
width="400" height="300" id="vlc" events="True">
<param name="Src" value="file:///C:\1.mp4"/>
<param name="ShowDisplay" value="True"/>
<param name="AutoLoop" value="True"/>
<param name="AutoPlay" value="True"/>
<param name="Volume" value="100">
</OBJECT>
В общем, элемент плеера не появляется, хотя проигрывание начинается, звук идет.
Если же файл 1.html открыть через WebGadgetNavigate, то все работает. Встроенный IE из скрипта Autoit видео показывает видео.
Чтение файла - пример, вообще html-код будет браться из переменной