Programátor. NET se často potýká s úkolem používat funkce dynamické knihovny DLL napsané jiným vývojářem v nespravovaném kódu. Někdy může být funkce této knihovny velmi, velmi rozsáhlá. Ručně zaregistrujte každou třídu, funkci, konstantu atd. Ve svém projektu. - velmi dlouho. Naštěstí existují nástroje, které tento proces částečně automatizují. Budeme mluvit o jednom z nich.
Nezbytné
- - PC s Visual Studio 2008/2010;
- - internet.
Instrukce
Krok 1
Pokud máte dynamickou knihovnu *.dll napsanou v nespravovaném kódu, například v C nebo C ++, stejně jako její záhlaví a potřebujete ve svém projektu deklarovat celou řadu konstrukcí knihovny, pak velmi dobrý řešením pro vás může být nástroj PInvoker. PInvoker je volně distribuován jako rozšíření pro Visual Studio IDE (jsou podporovány verze 2005, 2008 a 2010), stejně jako samostatná aplikace.
Práce s ním je jednoduchá a pohodlná. PInvoker importuje definice PInvoke pro spravovaný kód C # nebo VB. NET ze souborů záhlaví C / C ++ a jejich přidružené knihovny DLL. Musíte si jen vybrat ze seznamu dostupných funkcí, struktur, výčtů, konstant, delegátů atd. požadované a importované do vašeho projektu.
Nejprve si musíte stáhnout a nainstalovat PInvoker. Stáhněte si instalační program PInvoker.msi nebo rozšíření PInvokerAddin.msi pro Visual Studio z oficiálního webu. Myslím, že by to neměl být problém. Spusťte požadovaný soubor a postupujte podle pokynů.
Krok 2
Podívejme se na příklad, jak s tímto užitečným nástrojem pracovat. Spusťte Visual Studio, vytvořte nový projekt. Do nabídky Nástroje -> Nástroje byla přidána nová položka: PInvoker. Klikněte na něj a otevře se okno nastavení doplňku PInvoker. Vyberte jazyk projektu Jazyk: C # nebo VB. NET. V rozevíracím seznamu Profily vyberte možnost Upravit profily.
Krok 3
Otevře se okno správy profilů. Vyberte Vytvořit nový profil importu a klikněte na Další.
Krok 4
Nyní musíte přidat hlavičkové soubory. Můžete je přetáhnout do okna Průvodce profily PInvoker. Dále zadejte adresář, kde jsou tyto soubory uloženy.
Krok 5
Dalším krokem je zadání samotné dynamické knihovny. Můžete jej také bezpečně přetáhnout myší do okna průvodce profilem PInvoker.
Krok 6
Po kliknutí na tlačítko Dokončit bude zahájen proces importu definic z vybrané dynamické knihovny. Úspěšné dokončení operace bude označeno nápisem Importováno úspěšně a seznamem jmen funkcí z DLL, který se objeví v levém poli.
Krok 7
Nyní můžete do svého projektu snadno importovat definice PInvoke. V levém poli (1) v poli Typ vyberte typ: funkce, procedura, struktura, výčet, konstanta, delegát atd. V poli Název vyberte název požadované struktury. Jediným kliknutím se jeho popis zobrazí v centrálním poli okna PInvoker (2). Double - otevře jeho definici v hlavičkovém souboru. Kliknutím na tlačítko Vložit definici (3) vložíte definici do vašeho projektu C # / VB. NET. Nyní můžete ve svém projektu použít importovanou funkci DLL.