Često se. NET programer suočava sa zadatkom da koristi funkcionalnost dinamičkog DLL-a koji je napisao drugi programer u neupravljanom kodu. Funkcionalnost ove biblioteke ponekad može biti vrlo, vrlo opsežna. Ručno registrirajte svaku klasu, funkciju, konstantu itd. U svom projektu. - jako dugo. Srećom, postoje alati koji djelomično automatiziraju ovaj proces. Razgovarat ćemo o jednom od njih.
Potrebno
- - PC sa Visual Studiom 2008/2010;
- - internet.
Instrukcije
Korak 1
Ako imate dinamičku biblioteku *.dll napisanu u neupravljanom kodu, na primjer u C ili C ++, kao i datoteke zaglavlja, a u svom projektu trebate prijaviti čitavu gomilu bibliotečkih konstrukcija, onda vrlo dobar rješenje za vas može biti alat PInvoker. PInvoker se slobodno distribuira kao proširenje za Visual Studio IDE (podržane su verzije 2005, 2008 i 2010), kao i kao samostalna aplikacija.
Rad s njim je jednostavan i prikladan. PInvoker uvozi definicije PInvoke za upravljani C # ili VB. NET kôd iz zaglavnih datoteka C / C ++ i njima pridruženih DLL-ova. Jednostavno morate odabrati s popisa dostupnih funkcija, struktura, nabrajanja, konstanti, delegata itd. potrebno i uvezeno u vaš projekat.
Prvo morate preuzeti i instalirati PInvoker. Preuzmite instalacijski program PInvoker.msi ili proširenje PInvokerAddin.msi za Visual Studio sa službene web stranice. Mislim da ovo ne bi trebao predstavljati problem. Samo pokrenite željenu datoteku i slijedite upute.
Korak 2
Pogledajmo primjer kako raditi s ovim korisnim alatom. Pokrenite Visual Studio, kreirajte novi projekat. Nova stavka dodana je u meni Alati -> Alati: PInvoker. Kliknite na nju i otvorit će se prozor postavki PInvoker Addin. Odaberite jezik vašeg projekta Jezik: C # ili VB. NET. Na padajućem popisu Profili odaberite uredi profile.
Korak 3
Otvorit će se prozor za upravljanje profilima. Odaberite Stvori novi profil za uvoz i kliknite Dalje.
Korak 4
Sada morate dodati datoteke zaglavlja. Možete ih povući i ispustiti u prozor čarobnjaka za PInvoker profile. Dalje, navedite direktorij u kojem su te datoteke pohranjene.
Korak 5
Sljedeći je korak specificiranje same dinamičke biblioteke. Također ga možete sigurno povući mišem do prozora čarobnjaka za profil PInvoker.
Korak 6
Nakon klika na gumb Završi, započet će postupak uvoza definicija iz odabrane dinamičke biblioteke. Uspješan završetak operacije naznačit će natpis Uvoz uspješan i lista imena funkcija iz DLL-a koja se pojavljuje u lijevom polju.
Korak 7
Sada možete lako uvesti definicije PInvoke u svoj projekat. U lijevom polju (1) u polju Tip odaberite tip: funkcija, postupak, struktura, nabrajanje, konstanta, delegat itd. U polju Ime odaberite ime potrebne strukture. Jednim klikom njegov opis će se pojaviti u središnjem polju prozora PInvoker (2). Double - otvoriće svoju definiciju u datoteci zaglavlja. Klikom na dugme Umetni definiciju (3) uvrstit ćete definiciju u vaš C # / VB. NET projekt. Sada možete koristiti uvezenu DLL funkciju u svom projektu.