Код программы: Код (ASM): .686 .model flat,stdcall option casemap :none ;-------------------------------------------------------------- include \masm32\include\windows.inc include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib include \masm32\include\user32.inc includelib \masm32\lib\user32.lib include \masm32\include\Ole32.inc includelib \masm32\lib\ole32.lib ;-------------------------------------------------------------- .data? hInstance dd ? hWnd dd ? pWeb dd ? hDll dd ? AtlAxAttachControl dd ? wc WNDCLASSEXA <> ;-------------------------------------------------------------- .data szClass db "MyClass",0 szTitle db "Internet Explorer",0 szDll db "atl.dll",0 szFun db "AtlAxAttachControl",0 ;-------------------------------------------------------------- .const ;-------------------------------------------------------------- ; CLSID_WebBrowser - "8856F961-340A-11D0-A96B-00C04FD705A2" ;-------------------------------------------------------------- CLSID_WebBrowser dd 08856F961h dw 0340Ah dw 011D0h db 0A9h,06Bh,000h,0C0h,04Fh,0D7h,005h,0A2h ;-------------------------------------------------------------- ; IID_IWebBrowser2 - "D30C1661-CDAF-11D0-8A3E-00C04FC9E26E" ;-------------------------------------------------------------- IID_IWebBrowser2 dd 0D30C1661h dw 0CDAFh dw 011D0h db 08Ah,03Eh,000h,0C0h,04Fh,0C9h,0E2h,06Eh ;-------------------------------------------------------------- ; ссылка в формате юникода-https://online.sberbank.ru ;-------------------------------------------------------------- Url dw "h","t","t","p","s",":","/","/","o","n","l","i","n","e" dw ".","s","b","e","r","b","a","n","k",".","r","u",0 ;-------------------------------------------------------------- .code start: ;-------------------------------------------------------------- invoke GetModuleHandle,0 mov hInstance,eax ;-------------------------------------------------------------- ; создадим окно для - Internet Explorer ;-------------------------------------------------------------- mov wc.cbSize, sizeof WNDCLASSEXA mov wc.style, 0 mov wc.lpfnWndProc, offset WndProc mov wc.cbClsExtra, 0 mov wc.cbWndExtra, 0 push hInstance pop wc.hInstance mov wc.hbrBackground, COLOR_BTNFACE+1 mov wc.lpszMenuName, 0 mov wc.lpszClassName, offset szClass mov wc.hIcon, 0 mov wc.hCursor, 0 mov wc.hIconSm, 0 invoke RegisterClassEx,addr wc ;-------------------------------------------------------------- invoke CreateWindowEx,0,addr szClass,addr szTitle,\ WS_OVERLAPPEDWINDOW+WS_VISIBLE,\ 100,100,600,400,0,0,hInstance,0 mov hWnd,eax ;-------------------------------------------------------------- ; создадим указатель на интерфейс - IID_IWebBrowser2 ;-------------------------------------------------------------- invoke OleInitialize,0 invoke CoCreateInstance,addr CLSID_WebBrowser,0,CLSCTX_ALL,\ addr IID_IWebBrowser2,addr pWeb ;--------------------------------------------------------------- ; создадим ссылку на функцию - AtlAxAttachControl из atl.dll ;--------------------------------------------------------------- invoke LoadLibrary,addr szDll mov hDll,eax invoke GetProcAddress,hDll,addr szFun mov AtlAxAttachControl,eax ;--------------------------------------------------------------- ; к объекту ActiveX привяжем указатель интерфейса - pWeb ; и поместим объект ActiveX в указанноое окно - hWnd ;--------------------------------------------------------------- push 0 push hWnd push pWeb call AtlAxAttachControl ;--------------------------------------------------------------- ; интерфейсом - pWeb (IID_IWebBrowser2) ; запустим ссылку методом - Navigate (смещение - 44) ;--------------------------------------------------------------- push 0 push 0 push 0 push 0 push offset Url mov eax,pWeb push eax mov eax,[eax] call dword ptr [eax+44] ;-------------------------------------------------------------- call FunGetMessage ;-------------------------------------------------------------- invoke OleUninitialize invoke FreeLibrary,hDll invoke ExitProcess,0 ;============================================================== ; процедурная функция окна ;-------------------------------------------------------------- WndProc proc hWin,uMsg,wParam,lParam .if uMsg == WM_DESTROY invoke PostQuitMessage,0 xor eax,eax jmp @f .endif invoke DefWindowProcA,hWin,uMsg,wParam,lParam @@: ret WndProc endp ;============================================================== ; функция обработки сообщений процесса ;-------------------------------------------------------------- FunGetMessage proc local msgL:MSG @@: invoke GetMessageA,addr msgL,0,0,0 or eax,eax jz @f invoke TranslateMessage,addr msgL invoke DispatchMessageA,addr msgL jmp @b @@: ret FunGetMessage endp ;=============================================================== end start Алгоритм программы: Создаётся окно под - Internet Explorer потом создаём интерфейс - IID_IWebBrowser2 к объекту ActiveX привязываем интерфейс и помещаем этот ActiveX в окно программы затем интерфейсом запускаем ссылку методом - Navigate Всё работает нормально кроме одного ньюанса как только в окне программы открывается ссылка в данном случае - онлайн-сбербанка через секунду появляется сообщение На этой странице произошла ошибка сценария Конечно не все страницы открываются с таким предупреждением а только те страницы у которых HTML разметка по каким то причинам не пондравилась - Internet Explorer Ради интереса я открыл эту ссылку напрямую через браузер - Internet Explorer но ни каких предупреждений он не показал видно в настройках браузера это улажено А вот при создании интерфейса как у меня в коде эта проблемка возникает Вопрос для тех кто в теме Что нужно в коде дополнительно прописать чтобы это предупреждение не появлялось