При решении одной задачи столкнулся с трудностью, в 64-разрядной версии Windows 8.1 никак не получалось зарегистрировать библиотеку dynwrap.dll.
Благо нашел отличную разработку от Юрия Попова
DynamicWrapperX 2.2
Распространяется с согласия автора абсолютно бесплатно.
Лицензия: freeware.
Корректно работает в том числе под 64-разрядной Windows 10.
Версия 2.2 тестировалась под Windows XP SP3, Windows 7 SP2, Windows 8.1, Windows 10.
Версия 1.0 работает под Windows 98.
Нововведения в версии 1.0.0.0 по отношению к DynamicWrapper:
- Добавлена возможность регистрации компонента в системе для текущего пользователя. Это может пригодиться, если у пользователя нет прав администратора.
- Расширен набор типов входных параметров и возвращаемых значений.
- Добавлены выходные параметры.
- Унифицирована работа со строками в JScript и VBScript.
- Реализован обратный вызов (callback), т.е. возможность для функций API в свою очередь вызывать функции скрипта. Последнее нужно для использования таких API-функций, как EnumWindows.
- Под Windows 98 отпала необходимость создавать отдельный объект для каждой используемой функции.
- Добавлены методы NumGet, NumPut, StrPtr, StrGet, Space.
Изменения в версии 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 вместо типа строки можно прямо указать её кодировку.
Изменения в версии 2.1 по отношению к версии 2.0:
- Добавлено: методы LastError, MemZero, MemCopy, MemRead, MemWrite.
- Добавлено: необязательный параметр Offset для StrGet и StrPut.
- Добавлено: возможность использования имён кодировок — "utf-8" и т.п. — в StrPtr, StrGet и StrPut.
- Изменено: необязательный параметр Offset в NumGet и NumPut может опускаться из середины списка параметров.
- версия 2.1.1.0 собрана без сжатия компрессором Mpress для избежания ложных срабатываний некоторых антивирусов.
- в версии 2.1.1.1 исправлена ошибка в методе LastError, вызывавшая исключение при его вызове с аргументом 1, если описание для кода ошибки не было найдено.
В версию 2.2 добавлен флаговый параметр в метод RegisterCallback для указания соглашения вызова callback-функции.
В прикрепленных файлах версия 32-разрядная, 64-разрядная и мануал по установке и использованию от разработчика на английском и русском языках.