Activex компонент что это

Руководство по созданию ActiveX-контролов на C++ с помощью ATL

В интернете существует множество учебников по использованию ATL, и в частности, по созданию COM-компонентов с его помощью, в том числе и ActiveX/OLE контролов, но большинство из них почему-то описывают процесс тыкания мышкой в разные интересные места Visual Studio, использование графических инструментов последней, и мало какой из них затрагивает нутро сгенерированного средой разработки кода в достаточно глубоком объеме. В русскоязычном сегменте интернета ситуация и того хуже — материалов по ATL крайне мало, практически нет(да и не только по ATL, а и по созданию COM-компонентов вообще), поэтому я решил этот недостаток компенсировать.

Ну, начать следует, наверное, с краткого описания того, что из себя представляют ActiveX-компоненты и что такое ATL.

ActiveX это ребрендинг аббревиатуры OLE, «Object Linking and Embedding», технологии от Microsoft, основанной на COM, Component Object Model — языконезависимой компонентной модели, придуманной MS. OLE позволяет встраивать отдельные контролы, документы, да или просто компоненты в разные программы, написанные на разных языках программирования, работающие под Windows. ActiveX-контролы, в частности, известны тем, что их можно «вклеивать» в веб-браузер Internet Explorer, и одним из самых известных таких компонентов для IE является, к примеру, модуль Adobe Flash.

What Is Active X?

Интерфейс ActiveX-компонента поставляют с собой многие известные и популярные программы для Windows, как от самой Microsoft(Windows Media Player, или, например, программы из Microsoft Office, в частности Word, Excel и т.п.), так и от сторонних компаний(уже вышеупомянутый флеш, Adobe Reader, плюс многие другие программы того же Adobe — например Photoshop, если я правильно помню).

Есть мнение, что технология устаревает, или уже устарела, но тем не менее, я лично считаю, что она просто вытесняется в область низкоуровневого программирования и системных сервисов, и пока ядро Windows пишется на Си, а многие компоненты системы используют COM, и основаны на COM-интерфейсах, она уж точно никуда не денется.

Теперь про то, что такое ATL. ATL, Active Template Library — известная библиотека от Microsoft, которая упрощает работу с Winapi на C++. В ATL входят классы/шаблоны не только для работы с COM/OLE/ActiveX, но и классы для, к примеру, построения и управления GUI и т.п.

ATL обычно поставляется с полноценными версиями Microsoft Visual Studio, но если у вас ее нет, то можете взять эту библиотеку из Windows DDK.

Так вот, в данной статье я опишу процесс создания простенького компонента, который будет у нас средствами DirectX 11 рисовать крутящуюся растеризованную в wireframe сферу, и у которого будет два метода — Run — запустить вращение сферы, и Stop — остановить вращение.

Для начала нам нужно придумать интерфейс нашего модуля, придумать GUID для библиотеки, интерфейсов и класса компонента, и записать все это, как водится, в MIDL, Microsoft Interface Definition Language.

Как установить интернет клиент и компоненты activeX часть 2

Сохраним это дело в файл, и назовем MyActiveX.idl

Как видно, мы записали определение двух интерфейсов, а также описание COM-класса, который реализует наши интерфейсы. Первый, IMyControl, у нас представляет собой собственно интерфейс компонента, а второй нужен для оповещения внешнего мира о событиях, которые случаются с нашим контролом. Событий у нас не записано, и мы их делать в нашем примере не будем, поэтому этот интерфейс у нас пустой.

Интерфейс, реализуемый нашим классом, относится к так называемым dual-интерфейсам. Это значит, что его можно использовать не только из языков, способных на общение с native-кодом, а соответственно, и способных общаться с COM-компонентами через таблицы виртуальных методов, но и из скриптовых языков, посредством интерфейса IDispatch.

Далее нам нужно записать определения IMyControl и _IMyControlEvents в заголовочном файле для C++ — MyControl.hpp

Макрос MIDL_INTERFACE раскрывается во что-то вроде «struct __declspec(novtable) __declspec(uuid(строка GUID для интерфейса))». Microsoft довольно удобно интегрировали COM в свой компилятор C++, и это позволяет(и дальше это будет видно особенно хорошо) нам работать с интерфейсами и компонентами COM из MSVC++, как с более-менее обычными классами и структурами C++.

Макрос DEFINE_GUID же, в свою очередь, раскрывается в зависимости от определения макроса INITGUID — в случае отсутствия оного, он декларирует extern-переменную типа GUID с определенным названием. В случае INITGUID, он ее еще и инициализирует.

Как сделать вкладки в Яндексе в две строки

Теперь следует определить переменную _Module, которая принадлежит классу CComModule из ATL.

Запишем декларацию переменной в отдельный заголовочный файл, скажем MyActiveX.hpp

CComModule это класс, реализующий функциональность COM-модуля, в частности регистрацию классов компонентов, инициализацию COM-сервера и прочие подобные вещи.

Для регистрации COM-серверов в реестре(а COM работает именно через реестр) мы могли бы написать reg-файл, или вручную создать в реестре соответствующие записи, но также мы можем использовать программу regsvr32.exe, входящую в состав Windows, и позволяющую проводить автоматическую регистрацию, средствами самого компонента. Для этого необходимо, чтобы наша библиотека экспортировала некоторые функции, и в частности DllRegisterServer и DllUnregisterServer.

CComModule упрощает весь процесс автоматической регистрации, и позволяет сводить ее к вызову соответствующих методов в вышеупомянутых экспортируемых функциях библиотеки, но ему требуется, чтобы в секции ресурсов dll, реализующего компонент, находился скрипт регистрации. Назовем файл, который мы позже добавим в ресурсы, MyControl.rgs, и добавим туда такой текст:

Наиболее значимые части скрипта регистрации — CLSID, то есть GUID класса нашего компонента, ProgID, т.е. человекочитаемое представление CLSID, и ThreadingModel — модель многопоточности нашего компонента, которая в данном случае устанавливается в Apartment, что значит что напрямую к нашему контролу можно обращаться только из того потока, в котором он был создан, а все внешние вызовы, в том числе извне процесса(или даже с другого компьютера — через DCOM) будут сериализоваться и синхронизироваться средствами рантайма COM.

Кстати, о сериализации, то есть, вернее сказать, о маршалинге. В теории, для того чтобы сериализовать вызовы методов нашего компонента и указатели на его интерфейсы, мы должны поставить параллельно с ним отдельную библиотеку, так называемую прокси-dll, которая будет подгружаться как в клиентское приложение(если оно на другом компьютере), так и к процессу, куда загружен наш COM-компонент.

Компилятор MIDL от Microsoft мог бы генерировать код для прокси-библиотеки, или как она в данном случае называлась бы, proxy/stub, но в нашем случае можно поступить проще — так как типы данных у нас более-менее стандартные, мы может использовать встроенный маршалинг рантайма OLE. Для данного дела нам нужно из нашего IDL-файла, опять же средствами компилятора MIDL, midl.exe(входит в состав как Windows SDK, так и VS), скомпилировать так называемую библиотеку типов(type library, tlb), и поставить с нашим компонентом ее. Более того, мы можем еще дальше упростить все это дело, и включить скомпилированную библиотеку типов в секцию ресурсов DLL, что мы и сделаем.

Заголовочный файл для ресурсов нашего модуля:

IDR_MYCONTROL — id ресурса скрипта регистрации.
IDB_MAIN_ICON — иконка 16×16 для нашего компонента, в формате BMP. Я лично для этого файла взял иконку DirectX из MS DirectX SDK.
IDS_SHADER и SHADER_RESOURCE — id ресурса и типа ресурса, содержащего код шейдеров для отрисовки сферы.

Сам файл ресурсов, MyActiveX.rc, такой:

Теперь перейдем непосредственно к реализации нашего контрола.
Назовем класс CMyControl, и создадим заголовочный файл CMyControl.hpp

Как видно, определение класса получилось довольно большим.
Для реализации ActiveX-контрола наш класс, на самом деле, должен реализовать крайне немаленькое количество разнообразных COM-интерфейсов, начиная от IDispatch, но так как мы используем ATL, процесс очень сильно упрощается, благодаря наследованию от специальных классов, названия которых оканчиваются на «Impl», которые собственно говоря, и реализуют необходимую для интерфейсов функциональность в стандартном виде.

Три наиболее важных базовых класса нашего CMyControl — CComObjectRootEx, управляющий, в частности, подсчетом ссылок объектов нашего класса, CComCoClass, реализующий фабрику класса(IClassFactory), и CComControl, в свою очередь наследующийся от CWindowImpl(класс, обертывающий HWND, то есть дескриптор окна), и реализующий большую часть необходимой для встроенных ActiveX-контролов фунциональности.

Наиболее значимые макросы в теле класса:

DECLARE_REGISTRY_RESOURCEID — указывает id ресурса, в котором находится скрипт регистрации компонента.

BEGIN_COM_MAP + END_COM_MAP — реализуют метод QueryInterface интерфейса IUnknown(который является вершиной иерархии интерфейсов COM), который позволяет получать ссылки на разные интерфейсы объекта(и каждая из COM_INTERFACE_ENTRY указывает один из вариантов).

BEGIN_CONNECTION_POINT_MAP и соответствующий END — необходимы для реализации интерфейсов, связанных с оповещениями о событиях контрола.

BEGIN_MSG_MAP, MESSAGE_HANDLER и END_MSG_MAP — реализуют отображение сообщений Windows-окна на методы C++ классов.

Метод OnDraw у нас будет вызываться каждый раз, когда контрол будет получать от системы сообщение о необходимости перерисовки. Кроме этого, перерисовка контрола у нас будет вызываться по таймеру.

Как смотреть фильм вместе на расстоянии сайт

Вся функциональность нашего компонента, и, в частности, работа с Direct3D, реализуется приватным классом CMyControlImpl, согласно паттерну pimpl, в файле CMyControl.cpp. Я не буду в деталях его описывать, отмечу только то, что в конструкторе самого CMyControl необходимо выставить внутреннее свойство m_bWindowOnly в TRUE — это будет означать, что наш компонент поддерживает встраивание исключительно в графические приложение.

Также, стоит отметить что в реализации компонента для управления подсчетом ссылок на COM-интерфейсы активно используется шаблонный класс умного указателя CComPtr из ATL, очень похожий на intrusive_ptr из boost.

Теперь создадим файл MyActiveX.cpp, в котором у нас будет определены GUID класса и интерфейсов, переменная _Module, а также реализована точка входа DLL и необходимые для ActiveX-модуля экспортируемые функции:

Прежде чем скомпилировать dll, определим, какие функции наш модуль экспортирует, в def-файле:

Весь исходный код проекта, включая Makefile для сборки с помощью Windows SDK, приведен на github, по ссылке в конце статьи. Но сначала несколько примеров встраивания компонента:

Источник

ActiveX

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 17:45, 5 февраля 2017.

ActiveX Создатели: Разработчики: Выпущена: Веб-сайт
Microsoft Corporation
Microsoft Corporation
1996 ; 26 years ago ( 1996 )
microsoft .com /com /tech /activex .asp

ActiveX — фреймворк для определения программных компонентов, пригодных к использованию из программ, написанных на разных языках программирования. Программное обеспечение может собираться из одного или более таких компонентов, чтобы использовать их функциональность [1] .

История

Впервые эта технология была внедрена в 1996 году компанией Microsoft для развития технологий Component Object Model (COM) и Object Linking and Embedding (OLE) и теперь она широко используется в операционных системах семейства Microsoft Windows, хотя сама технология и не привязана к операционной системе. Множество приложений для Microsoft Windows, включая приложения самой компании Microsoft, такие, как Internet Explorer, Microsoft Office, Microsoft Visual Studio, Windows Media Player, используют управляющие элементы ActiveX, чтобы реализовать набор функциональных возможностей и в дополнение инкапсулировать их собственную функциональность в управляющие элементы ActiveX, чтобы предоставить возможность встраивать их в другие приложения.

Microsoft отказалась от поддержки ActiveX в Metro интерфейсе Internet Explorer 10 в Windows 8. В 2015 году в Microsoft Edge, замене для Internet Explorer, поддержка ActiveX прекращена, отмечая конец технологии в веб-браузерах Microsoft.

Архитектура

Управляющие элементы ActiveX — это просто новый маркетинговый термин вместо «управляющего элемента OLE» (OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад. Например, установленная на персональном компьютере издательская система может послать некий текст на обработку в текстовый редактор, либо некоторое изображение в редактор изображений с помощью OLE-технологии).

Любой готовый или созданный вами управляющий элемент OLE — это уже ActiveX-элемент и может использоваться в оснащенных средствами для работы с ним программах. Примеры включают в себя настраиваемые приложения по сбору данных, просмотру определённых типов файлов и отображения анимации [2] . Управляющие элементы ActiveX сравнимы с технологией Java-апплетов: программисты разрабатывают оба механизма, чтобы браузер мог не только скачать, но и обработать их. Однако Java-апплеты могут работать под любой платформой, тогда как управляющие элементы ActiveX официально обрабатываются только Microsoft Internet Explorer и операционной системой Microsoft Windows. Вредоносное ПО, такое, как компьютерные вирусы и шпионящее ПО, можно случайно установить с вебсайтов злоумышленников, используя технологию управляющих элементов ActiveX. Программисты могут создавать управляющие элементы ActiveX с помощью любого языка программирования, поддерживающего разработку компонентов Component Object Model (COM), включая приложенный ниже список:

  • C++
  • Delphi
  • Visual Basic
  • .NET Framework (C#/VB.NET)

Распространённые примеры управляющих элементов ActiveX включают кнопки, списки, диалоговые окна и т. д.

Как установить

Чтобы установить элементы ActiveX нужно провести следующие операции в Internet Explorer:

1.Открываем IE, ищем в меню программы выпадающий список «Сервис» и открываем «Свойства обозревателя»:

Hhh.jpg

2.Далее перед нами появится окно свойств, где нужно перейти на вкладку «Безопасность», найти внизу кнопку «Другое» и нажать её. После проведения этих действий, перед вами возникнет окно параметров безопасности.

Kjkjkj.jpg

3.Теперь нужно пролистать этот список вниз до тех пор, пока не увидим меню «Элементы ActiveX и модули подключения», после чего необходимо установить пункты согласно картинке:

Hkjhjhj.jpg

4.После всех этих действий нажимаем «Ок» во всех окнах и перезапускаем IE. Рекомендуется вообще перезагрузить компьютер. На этом установка элементов окончена. Internet Explorer, несмотря на все негативные отклики о нём, довольно неплохое средство для серфинга по Интернету.

Как удалить аккаунт в notion

Особенности

Технология ActiveX заслуживает пристального внимания, но ей еще предстоит трудная борьба за Web. Средства для ее использования имеются пока только в браузере Internet Explorer, который, в свою очередь, ограничивается лишь средой Windows — по крайней мере на текущий момент. (По словам представителей Microsoft, в будущем технология ActiveX будет подготовлена и дл платформ Macintosh и UNIX.) Средства для работы с управляющими элементами ActiveX, может быть, найдут пристанище и в браузерах других поставщиков, однако, как сообщили в Netscape, браузер Navigator останется в стороне от этой технологии.

И пока за ним будет сохраняться львиная доля рынка браузеров, рассчитывать на применение технологии ActiveX в общедоступных узлах Internet не приходится. Однако мы упустили из виду сферу частных интрасетей, и именно на этом поприще влияние ActiveX может оказаться значительным уже сейчас.

В настоящее врем ActiveX и VBScript более всего приспособлены дл модернизации клиентской части используемых в этих сетях программ, нечто подобное делается и с помощью языка Java. Однако, если инструменты и библиотеки Java еще только начинают появляться, на рынке ActiveX уже сейчас представлен богатый арсенал управляющих элементов от различных фирм. Задача создания средствами Java страницы Web, оснащенной механизмом построения полнофункциональной диаграммы или таблицы данных, потребовала бы немыслимых усилий разработчика. А аналогичная задача средствами ActiveX решается достаточно просто. Совершенно очевидно, что в Microsoft немало заботятся о продвижении стандарта ActiveX на рынок, причем до такой степени, что даже бесплатно предлагают всем желающим свой браузер, описание языка, инструментальные средства и подготовленные наборы управляющих элементов. Если вы планируете разработку прикладной программы для интрасети с расширенными возможностями ее клиентской части — эта технологи будет вам полезна [3] .

Источник

Технологии ActiveX

ActiveX — технология Microsoft, предназначенная для написания сетевых приложений. Она предоставляет программистам наборы стандартных библиотек, значительно облегчающих процесс кодирования. Если раньше при написании программ использовались механизмы OLE (OLE Automation, OLE Documents, OLE Controls. ), основанные на компонентной объектной модели (COM — Component Object Model), то теперь библиотеки OLE переписаны так, чтобы обеспечивать функциональность, достаточную для написания сетевых приложений. Таким образом, теперь при написании программ используется DCOM (Distributed Component Object Model) — распределенная компонентная объектная модель, а реализуют ее библиотеки ActiveX, которые по объему оказались гораздо меньше, чем библиотеки OLE, а по скорости — быстрее. Сохранилась и совместимость — любой программный компонент OLE будет работать с библиотеками ActiveX.

Поскольку самым динамично развивающимся направлением в компьютерной индустрии является Internet, именно здесь наиболее естественно могут найти свое место программы, написанные с использованием технологии ActiveX. Не случайно в последнее время понятия ActiveX и Internet часто встречаются рядом. В то же время технология ActiveX имеет значительно более универсальную область использования.

Стандарт ActiveX позволяет программным компонентам взаимодействовать друг с другом по сети независимо от языка программирования, на котором они написаны. С помощью ActiveX можно «оживить» страницы Web эффектами мультимедиа, интерактивными объектами или сложными приложениями. ActiveX обеспечивает некий «скрепляющий раствор», с помощью которого отдельные программные компоненты на разных компьютерах «склеиваются» в единую распределенную систему.

ActiveX включает в себя клиентскую и серверную части, а также библиотеки для разработчика:

программные элементы ActiveX — компоненты, работающие на компьютере-клиенте, но загружаемые в первый раз с сервреа Web. С их помощью можно демонстрировать разнородную информацию, включающую видео и звук без запуска дополнительных программ. Более того, эти программные компоненты могут использоваться в приложениях, написанных на любых популярных языках программирования, включая Java (Visual J++), Visual Basic, Visual C++.

Active Scripting поддерживает любой популярный макроязык, включая Visual Basic Script и JScript (реализация компанией Microsoft языка сценариев JavaScript). Макроязыки могут использоваться для объединения на одной странице нескольких программных элементов ActiveX или Java, обеспечивая их взаимодействие между собой.

Документы ActiveX позволяют открыть и обрабатывать в окне Microsoft Internet Explorer документ любого формата (например, файл Microsoft Excel или Word).

Виртуальная машина Java позволяет любой программе просмотра Internet, поддерживающей технологию ActiveX (например, Internet Explorer 3.0) выполнять программные компоненты Java и обеспечивать их взаимодействие с программными компонентами ActiveX.

ActiveX Server Framework обеспечивает серверные функции ActiveX, включая поддержку безопасных соединений, доступ к базам данных и другие.

Почему не создается аккаунт в стиме

Средства разработки позволят использовать знакомые системы программирования Microsoft и других фирм для создания компонентов ActivX. К их числу относятся Visual Basic, Visual C++, Macromedia Shockwave, Adobe Photoshop, Borland Delphi, средства программирования Sybase и другие.

Основные преимущества использования технологии ActiveX:

Быстрое написание программного кода. Программирование сетевых взаимодействий становится очень похожим на программирование для отдельного компьютера.

Открытость и мобильность. Спецификации технологии недавно были переданы в Open Group как основа открытого стандарта. Кроме того, Microsoft совместно с компаниями Metrowerks и Bristol заканчивает реализацию технологий ActiveX для платформ Macintosh и UNIX.

Возможность написания приложений с использованием знакомых средств разработки. Программные элементы ActiveX могут быть созданы с помощью Visual Basic, Visual C++, Borland Delphi, Borland C++, любых средств разработки на Java.

Большое количество уже существующих программных элементов ActiveX, которые бесплатно могут применяться на серверах Web и в приложениях независимых разработчиков. Кроме того почти любой программный компонент OLE совместим с технологиями ActiveX и может применяться без модификаций в сетевых приложениях.

Стандартность. Технология ActiveX основана на широко используемых стандартах Internet (TCP/IP, HTML, Java) с одной стороны и стандартах, введенных в свое время Microsoft и необходимых для сохранения совместимости (COM, OLE).

Клиентская технология ActiveX (Active Desktop)

ActiveX реализуется на машине-клиенте с помощью библиотек, поставляемых вместе с Internet Explorer 3.0. В дальнейшем эти библиотеки будут дополняться и переписываться, в частности, наиболее значимые обновления этих библиотек на клиенте следует ожидать после выхода NetShow, продукта, предназначенного для оптимальной передачи по сети данных мультимедиа.

Программные компоненты ActiveX могут быть установлены автоматически на компьютер пользователя по сети с удаленного сервера, причем будет загружен код, подходящий для конкретной платформы клиента, будь то Macintosh, Windows или Unix. Разработчик Web-страниц может либо сам запрограммировать элементы ActiveX, используя популярные языки программирования Visual C++, Visual Basic или Java, либо использовать существующие. Примеры готовых программных элементов можно найти по адресу http://www.microsoft.com/activeplatform/default.asp.

Используя языки сценариев ActiveX, программисты могут обеспечить взаимодействие различных элементов ActiveX, Java, других программ на клиентском компьютере и различных частей самого Internet Explorer. Например, программный элемент синхронизации может обновлять страницу Web через определенные промежутки времени. Можно также периодически запускать программный элемент, привлекающий внимание пользователя. Имеются реализации Visual Basic Scripting Edition, являющегося подмножеством Visual Basic, и JScript. Кроме того, разработчик может написать интерпретатор собственного языка сценариев и добавить его в систему.

С ActiveX Documents знаком каждый, кто работал с составными документами. С помощью Internet Explorer можно работать, например, с таблицами Microsoft Excel и файлами других офисных приложений. Это делает программу просмотра универсальным средством, способным не только отображать файлы в формате HTML и осуществлять переходы по ссылкам, но и поддерживающим работы с документами любых приложений и даже запуск программ.

Серверная технология ActiveX (Active Server)

Серверная часть технологии ActiveX реализована с помощью Microsoft Internet Information Server 3.0. С помощью ActiveX можно писать программы на языках сценариев (сейчас это VBScript), выполняющиеся на сервере.

Если раньше разработчикам приходилось использовать такие средства, как Microsoft Visual C++ для написания динамически загружаемых библиотек, использующих специальные вызовы Internet Server API, то теперь возможно написание приложений на языке сценариев. Это существенно упрощает разработку, сокращает время написания программы и минимизирует затраты. Программы, основанные на технологиях Active Server на порядок производительнее программ, основанных на Common Gateway Interface (CGI). Это достигается оптимизацией процессов ActiveX на сервере, учитывающей архитектуру Windows NT.

С помощью языков сценариев на сервере можно осуществлять доступ к системам управления базами данных, поддерживающим стандарт ODBC, и использовать механизм транзакций.

Поскольку подход к использованию технологий ActiveX на сервере стандартизован, программисты могут не только разрабатывать приложения, способные выполняться на серверах, но и реализовывать свои схемы взаимосвязи серверных приложений и сервисов, создавать собственные интерпретаторы серверных языков сценариев. Для этого требуется предварительное приобретение лицензии у Open Group.

Источник

Что такое ActiveX

activex что это

Возможно, вам доводилось слышать такое название – «ActiveX объект» или «Элемент управления ActiveX».

Скорее всего, это понятие проскакивало при просмотре веб-страниц в интернете с помощью браузера Internet Explorer, который поддерживает эту технологию. Или, возможно, вам предлагалось включить ActiveX, а возможно возникала ошибка работы ActiveX. В любом случае в этой заметке я хочу рассказать о том, что это такое.

Почему не отображается история в Яндекс Браузере на Андроид

Я не буду углубляться в подробное описание, так как во-первых, это понятие достаточно сложное, а во-вторых, нам, как конечным пользователям, абсолютно не нужно знать все эти «программистские штучки»:) Итак, что же это такое ActiveX?

Это специальная технология, по которой создаются программы. Но это необычные программы, которые можно запустить двойным щелчком левой кнопки мышки по файлу. Эти программы запускаются и выполняются операционной системой.

Основными компонентами технологии ActiveX являются так называемые управляющие элементы ActiveX – это небольшие программки, которые используются при создании веб-страниц. Эти программы позволяют расширить функционал веб-страницы, например, при помощи ActiveX в браузере загружается плеер, который позволяет воспроизводить видео или музыку онлайн, или же открывать файлы других форматов прямо в окне браузера. Также с помощью управляющих элементов ActiveX создаются различные кнопки и диалоговые окна на веб-страницах, воспроизводится анимация. Многие компании используют элементы управления ActiveX для установки своих программ прямо со своего интернет-сайта на ваш компьютер.

Если при создании сайта использовалась технология ActiveX, то при посещении этого сайта браузер выведет запрос на установку элемента управления ActiveX. Если вы соглашаетесь с запросом, то управляющий элемент загружается на ваш компьютер и запускается на нём.

Теперь не сложно догадаться какая опасность таится в этой технологии.

Поскольку управляющие компоненты ActiveX – это программы, которые запускаются через веб-браузер, то есть вполне реальная угроза «подцепить» какую-нибудь заразу в виде вредоносной программы или вируса, так как злоумышленники могут применять технологию ActiveX для создания и распространения различных вирусов и шпионских программ.

Официально технологию ActiveX поддерживает только браузер Internet Explorer, но поскольку этот браузер идет в комплекте с операционной системой Windows, то многие начинающие пользователи используют именно его для работы в интернете.

Отсюда вытекает самая большая опасность – так как начинающие пользователи не особо разбираются в своих действиях, то велика вероятность подхватить вирус при простом просмотре веб-страниц в интернете.

По умолчанию, браузер спрашивает у пользователей разрешение на установку компонентов ActiveX, но, во-первых, программы могут изменить настройки браузера, чтобы обойти эту проверку и автоматически запускать элементы управления ActiveX, а во-вторых, даже если уведомление и появилось, то большинство людей не читают предупреждения программ, а на все вопросы предпочитают отвечать «OK».

К сожалению, антивирусные программы не очень хорошо справляются с обнаружением и обезвреживанием подобных вирусов. Дело в том, что в отличии от обычных вирусов вредоносный элементы ActiveX очень сложно распознать, так как он в работе ничем не будет отличаться от вполне, так скажем, доброкачественного модуля. Как только пользователь соглашается установить подобный ActiveX элемент, программа запускается на компьютере и скачивает без всяких предупреждений трояны, вирусы, шпионские программы и т.д. и т.п.

Тут, конечно, может помочь грамотно настроенная защита – антивирус и брандмауэер. Но не стоит забывать, что среди вирусо-писателей встречаются профессиональные программисты, вполне способные обойти защиту компьютера, тем более, что пользователь сам разрешает запустить первоначальную программу на своем компьютере, а это дает большие преимущества.

Думаю, что опасность, которую в себе несут элементы управления ActiveX понятна. Теперь давайте поговорим о том, как себя от этой опасности оградить.

Если вы пользуетесь браузером Internet Explorer обязательно проверьте настройки безопасности.

Они находятся в меню Сервис –> Свойства обозревателя –> Безопасность.

Настройки безопасности Internet Explorer

Нажмите кнопку «Другой». Убедитесь, что выключены опции «Загрузка неподписанных элементов ActiveX» и «Использование элементов ActiveX, не помеченных как безопасные».

А для повышенной безопасности установите все остальные опции ActiveX на этой странице в положение «Предлагать» .

Настройки activex

На сегодняшний день единственный полезный модуль, который имеет смысл установить на свой компьютер — это Adobe Flash Player. Он используется для украшения веб-страниц – позволяет создавать красочные спецэффекты, встраивать на сайты интерактивные игры или проигрывать видео онлайн.

Все остальные 99,99% модулей и плагинов, которые пытаются установиться на ваш браузер или скачаться на ваш компьютер, либо бесполезны, либо несут в себе потенциальную угрозу.

Да, еще забыл про один полезный и необходимый плагин — Java. Эта технология также позволяет играть в онлайн-игры, общаться с людьми по всему миру, просматривать изображения в формате 3D и выполнять множество других задач.

Рекомендую регулярно обновлять эти плагины. Без всех остальных плагинов и элементов управления ActiveX можно спокойно ОБОЙТИСЬ.

Источник
Рейтинг
Загрузка ...