gifts2017

ActiveX компонент DynamicWrapperX 2.0 расширенный. Работает в том числе под 64-разрядной Windows 8.1

Опубликовал Михаил Загайнов (MihailZ) в раздел Программирование - Внешние компоненты

DynamicWrapperX — это ActiveX компонент (СОМ-сервер), созданный по мотивам DynamicWrapper, как попытка более полной реализации идеи. Он предоставляет возможность в скриптах на JScript и VBScript регистрировать в качестве методов объекта и затем вызывать функции, экспортируемые dll-библиотеками, в частности функции Windows API. С версии 2 также возможна регистрация функции по её адресу в памяти и регистрация машинного кода функции, представленного в виде хекс-строки. Этот компонент не является модификацией оригинального кода DynamicWrapper, он написан с нуля на языке ассемблера GoAsm. Версия 2.0 тестировалась под Windows XP SP3, Windows 7 SP1 и Windows 8.1.

При решении одной задачи столкнулся с трудностью, в 64-разрядной версии Windows 8.1 никак не получалось зарегистрировать библиотеку dynwrap.dll.

Благо нашел отличную разработку от Юрия Попова

DynamicWrapperX 2.0

 

Распространяется с согласия автора абсолютно бесплатно.

Лицензия: freeware.

Корректно работает в том числе под 64-разрядной Windows 8.1.

Версия 2.0 тестировалась под Windows XP SP3, Windows 7 SP1 и Windows 8.1.

Нововведения в версии 1 по отношению к DynamicWrapper:

  • Добавлена возможность регистрации компонента в системе для текущего пользователя. Это может пригодиться, если у пользователя нет прав администратора.
  • Расширен набор типов входных параметров и возвращаемых значений.
  • Добавлены выходные параметры.
  • Унифицирована работа со строками в JScript и VBScript.
  • Реализован обратный вызов (callback), т.е. возможность для функций API в свою очередь вызывать функции скрипта. Последнее нужно для использования таких API-функций, как EnumWindows (см. примеры ниже).
  • Под Windows 98 отпала необходимость создавать отдельный объект для каждой используемой функции.
  • Добавлено несколько полезных, на мой взгляд, встроенных методов.

 

Изменения в версии 2 по отношению к версии 1:

  • Компонент не тестировался под Windows 98 и официально её не поддерживает.
  • Доступны два варианта: x86 и x64.
  • Изменён CLSID компонента.
  • При установке и удалении проверяется наличие 1-й версии; дальнейшее зависит от результатов проверки (см. раздел Регистрация в системе).
  • Расширен набор типов параметров и возвращаемых значений: добавлены типы m (Int64), q (UInt64), v (VARIANT).
  • Количество callback-функций теперь неограничено.
  • Расширены возможности метода Register (регистрация функции по ординалу, регистрация под другим именем, добавлен флаговый параметр "f=").
  • Добавлены встроенные методы RegisterAddr, RegisterCode, StrPut, ObjPtr, ObjGet, ArrPtr, VarPtr, MemAlloc, MemFree, Bitness, Version.
  • В методах StrPtr, StrGet, StrPut вместо типа строки можно прямо указать её кодировку.

В прикрепленных файлах версия 32-разрядная, 64-разрядная и мануал по установке и использованию от разработчика на английском и русском языках.

 

Скачать файлы

Наименование Файл Версия Размер
Dynwrapx2.0.0.1_32.zip 29
.zip 10,51Kb
26.03.14
29
.zip 10,51Kb Скачать
Dynwrapx2.0.0.1_64.zip 49
.zip 11,32Kb
26.03.14
49
.zip 11,32Kb Скачать
HELP.rar 23
.rar 23,20Kb
26.03.14
23
.rar 23,20Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
2. Олег Шалимов (CaSH_2004) 21.06.15 20:35
За то что не поленился и скопировал сюда с сайта автора описание - спасибо :) Ну а где пример как использовать в 1С?
3. Михаил Загайнов (MihailZ) 26.06.15 12:50
(2) CaSH_2004, применений множество. сделай поиск - Новый COMОбъект("DynamicWrapper",
как реализовать функцию Sleep в 1С например и т.д.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа