Genellikle bir. NET programcısı, yönetilmeyen kodda başka bir geliştirici tarafından yazılmış dinamik bir DLL'nin işlevselliğini kullanma göreviyle karşı karşıya kalır. Bazen bu kütüphanenin işlevselliği çok, çok kapsamlı olabilir. Projenizdeki her sınıfı, işlevi, sabiti vb. manuel olarak kaydedin. - çok uzun zaman. Neyse ki, bu süreci kısmen otomatikleştiren araçlar var. Onlardan biri hakkında konuşacağız.
Gerekli
- - Visual Studio 2008/2010 ile PC;
- - internet.
Talimatlar
Aşama 1
Yönetilmeyen kodda, örneğin C veya C ++ ile yazılmış dinamik bir *.dll kitaplığınız ve bunun yanı sıra başlık dosyalarınız varsa ve projenizde bir sürü kitaplık yapısı bildirmeniz gerekiyorsa, o zaman çok iyi PInvoker aracı sizin için çözüm olabilir. PInvoker, Visual Studio IDE'nin bir uzantısı olarak (2005, 2008 ve 2010 sürümleri desteklenir) ve bağımsız bir uygulama olarak ücretsiz olarak dağıtılır.
Onunla çalışmak basit ve kullanışlıdır. PInvoker, yönetilen C # veya VB. NET kodu için PInvoke tanımlarını C / C++ başlık dosyalarından ve bunlarla ilişkili DLL'den içe aktarır. Kullanılabilir işlevler, yapılar, numaralandırmalar, sabitler, temsilciler vb. listesinden seçim yapmanız yeterlidir. gerekli ve projenize aktarılır.
İlk önce PInvoker'ı indirip yüklemeniz gerekir. Visual Studio için PInvoker.msi yükleyicisini veya PInvokerAddin.msi uzantısını resmi web sitesinden indirin. Bence bu bir sorun olmamalı. Sadece istediğiniz dosyayı çalıştırın ve talimatları izleyin.
Adım 2
Bu kullanışlı araçla nasıl çalışılacağına dair bir örneğe bakalım. Visual Studio'yu başlatın, yeni bir proje oluşturun. Araçlar -> Araçlar menüsüne yeni bir öğe eklendi: PInvoker. Üzerine tıklayın ve PInvoker Eklenti ayarları penceresi açılacaktır. Projenizin dilini seçin Dil: C# veya VB. NET. Profiller açılır listesinde, profilleri düzenle'yi seçin.
Aşama 3
Profil yönetimi penceresi açılacaktır. Yeni bir içe aktarma profili oluştur'u seçin ve İleri'ye tıklayın.
4. Adım
Şimdi başlık dosyalarını eklemeniz gerekiyor. Bunları PInvoker Profilleri Sihirbazı penceresine sürükleyip bırakabilirsiniz. Ardından, bu dosyaların depolandığı dizini belirtin.
Adım 5
Sonraki adım, dinamik kitaplığın kendisini belirlemektir. Ayrıca fareyle PInvoker profil sihirbazının penceresine güvenle sürükleyebilirsiniz.
6. Adım
Bitir düğmesine tıkladıktan sonra, seçilen dinamik kitaplıktan tanımları içe aktarma işlemi başlayacaktır. İşlemin başarıyla tamamlandığı, içe aktarma başarılı yazısı ve sol alanda görünen DLL'den işlevlerin adlarının listesi ile belirtilecektir.
7. Adım
Artık PInvoke tanımlarını projenize kolayca aktarabilirsiniz. Sol alanda (1), Tür alanında türü seçin: işlev, prosedür, yapı, numaralandırma, sabit, temsilci vb. Ad alanında, gerekli yapının adını seçin. Tek bir tıklama ile açıklaması PInvoker penceresinin (2) orta alanında görünecektir. Double - tanımını başlık dosyasında açacaktır. Tanım ekle düğmesine (3) tıklamak, tanımı C# / VB. NET projenize ekleyecektir. Artık projenizde içe aktarılan DLL işlevini kullanabilirsiniz.