Често програмистът. NET се сблъсква със задачата да използва функционалността на динамична DLL, написана от друг разработчик в неуправляван код. Понякога функционалността на тази библиотека може да бъде много, много обширна. Ръчно регистрирайте всеки клас, функция, константа и т.н. във вашия проект. - много дълго време. За щастие има инструменти, които частично автоматизират този процес. Ще говорим за един от тях.
Необходимо
- - компютър с Visual Studio 2008/2010;
- - Интернетът.
Инструкции
Етап 1
Ако имате динамична библиотека *.dll, написана в неуправляван код, например в C или C ++, както и заглавните му файлове и трябва да декларирате цял куп библиотечни конструкции във вашия проект, тогава много добра решение за вас може да бъде инструментът PInvoker. PInvoker се разпространява свободно като разширение за Visual Studio IDE (поддържат се версии 2005, 2008 и 2010), както и като самостоятелно приложение.
Работата с него е проста и удобна. PInvoker импортира дефиниции на PInvoke за управляван C # или VB. NET код от заглавни файлове C / C ++ и свързаните с тях DLL. Просто трябва да изберете от списък с налични функции, структури, изброявания, константи, делегати и т.н. задължително и импортирано във вашия проект.
Първо трябва да изтеглите и инсталирате PInvoker. Изтеглете инсталационната програма PInvoker.msi или разширението PInvokerAddin.msi за Visual Studio от официалния уебсайт. Мисля, че това не би трябвало да е проблем. Просто стартирайте желания файл и следвайте инструкциите.
Стъпка 2
Нека да разгледаме пример за работа с този полезен инструмент. Стартирайте Visual Studio, създайте нов проект. Добавен е нов елемент в менюто Инструменти -> Инструменти: PInvoker. Кликнете върху него и ще се отвори прозорецът за настройки на PInvoker Addin. Изберете езика на вашия проект Език: C # или VB. NET. В падащия списък Профили изберете редактиране на профили.
Стъпка 3
Ще се отвори прозорецът за управление на профила. Изберете Създаване на нов профил за импортиране и щракнете върху Напред.
Стъпка 4
Сега трябва да добавите заглавните файлове. Можете да ги плъзнете и пуснете в прозореца на съветника за профили на PInvoker. След това посочете директорията, в която се съхраняват тези файлове.
Стъпка 5
Следващата стъпка е да се определи самата динамична библиотека. Можете също така безопасно да го плъзнете с мишката до прозореца на съветника за профили на PInvoker.
Стъпка 6
След като щракнете върху бутона Finish, процесът на импортиране на дефиниции от избраната динамична библиотека ще започне. Успешното завършване на операцията ще бъде посочено от надписа Импортиране успешно и списъка с имена на функции от DLL, който се появява в лявото поле.
Стъпка 7
Сега можете лесно да импортирате дефиниции на PInvoke във вашия проект. В лявото поле (1) в полето Тип изберете типа: функция, процедура, структура, изброяване, константа, делегат и т.н. В полето Име изберете името на необходимата структура. С едно щракване описанието му ще се появи в централното поле на прозореца PInvoker (2). Double - ще отвори дефиницията му в заглавния файл. Щракването върху бутона Вмъкване на дефиниция (3) ще вмъкне дефиницията във вашия проект C # / VB. NET. Сега можете да използвате импортираната DLL функция във вашия проект.