Często programista. NET staje przed zadaniem wykorzystania funkcjonalności dynamicznej biblioteki DLL napisanej przez innego programistę w kodzie niezarządzanym. Czasami funkcjonalność tej biblioteki może być bardzo, bardzo rozbudowana. Ręcznie zarejestruj każdą klasę, funkcję, stałą itp. w swoim projekcie. - bardzo długi czas. Na szczęście istnieją narzędzia, które częściowo automatyzują ten proces. Porozmawiamy o jednym z nich.
Niezbędny
- - PC z Visual Studio 2008/2010;
- - Internet.
Instrukcje
Krok 1
Jeśli masz bibliotekę dynamiczną *.dll napisaną w kodzie niezarządzanym, na przykład w C lub C++, a także jej pliki nagłówkowe i potrzebujesz zadeklarować całą masę konstrukcji bibliotek w swoim projekcie, to bardzo dobrze rozwiązaniem dla Ciebie może być narzędzie PINvoker. PInvoker jest swobodnie rozpowszechniany jako rozszerzenie dla środowiska IDE Visual Studio (obsługiwane są wersje 2005, 2008 i 2010), a także jako samodzielna aplikacja.
Praca z nim jest prosta i wygodna. PInvoker importuje definicje PInvoke dla zarządzanego kodu C# lub VB. NET z plików nagłówkowych C/C++ i skojarzonych z nimi bibliotek DLL. Wystarczy wybrać z listy dostępnych funkcji, struktur, wyliczeń, stałych, delegatów i tak dalej. wymagane i zaimportowane do Twojego projektu.
Najpierw musisz pobrać i zainstalować PINvoker. Pobierz instalator PInvoker.msi lub rozszerzenie PInvokerAddin.msi dla programu Visual Studio z oficjalnej witryny sieci Web. Myślę, że to nie powinno być problemem. Po prostu uruchom żądany plik i postępuj zgodnie z instrukcjami.
Krok 2
Spójrzmy na przykład pracy z tym przydatnym narzędziem. Uruchom program Visual Studio, utwórz nowy projekt. Do menu Narzędzia -> Narzędzia dodano nowy element: PINvoker. Kliknij go, a otworzy się okno ustawień dodatku PINvoker. Wybierz język swojego projektu Język: C # lub VB. NET. Z listy rozwijanej Profile wybierz edytuj profile.
Krok 3
Otworzy się okno zarządzania profilami. Wybierz Utwórz nowy profil importu i kliknij Dalej.
Krok 4
Teraz musisz dodać pliki nagłówkowe. Możesz przeciągnąć je i upuścić w oknie Kreatora profili PInvoker. Następnie określ katalog, w którym przechowywane są te pliki.
Krok 5
Następnym krokiem jest określenie samej biblioteki dynamicznej. Możesz też bezpiecznie przeciągnąć go myszą do okna kreatora profili PINvoker.
Krok 6
Po kliknięciu przycisku Zakończ rozpocznie się proces importowania definicji z wybranej biblioteki dynamicznej. Pomyślne zakończenie operacji będzie sygnalizowane napisem Import pomyślnie oraz listą nazw funkcji z biblioteki DLL, która pojawia się w lewym polu.
Krok 7
Teraz możesz łatwo importować definicje PInvoke do swojego projektu. W lewym polu (1) w polu Typ wybierz typ: funkcja, procedura, struktura, wyliczenie, stała, delegat itp. W polu Nazwa wybierz nazwę wymaganej struktury. Jednym kliknięciem jego opis pojawi się w środkowym polu okna PINvoker (2). Double - otworzy jego definicję w pliku nagłówkowym. Kliknięcie przycisku Wstaw definicję (3) spowoduje wstawienie definicji do projektu C# / VB. NET. Teraz możesz użyć zaimportowanej funkcji DLL w swoim projekcie.