Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 20943|Yanıt: 0

[Kaynak] C#, Win32 API fonksiyonlarını DllImport üzerinden içe aktarır ve çağırır

[Bağlantıyı kopyala]
Yayınlandı 26.11.2015 10:14:48 | | |
C# programlarında, programın çalışmasını daha iyi kontrol etmek için genellikle Windows tarafından sağlanan temel API'leri doğrudan çağırmamız gerekir, ancak C# üzerinde çalıştırıldığından. Net üzerindeki yönetilen dilleri, doğrudan Win32 API'nin .h başlık dosyasını ekleyerek CLR olarak çağıramayız, tıpkı C++ gibi bir dil gibi. Neyse ki, Microsoft bize en başından itibaren DllImport Attribute aracılığıyla Win32 API'deki fonksiyonları C# koduna eşleme imkanı sağladı.
[DllImport("user32.dll", EntryPoint = "FindWindow")]
public static extern int FindWindow(
            string lpClassName,
            string lpWindowName);
Bunlar arasında, user32.dll içe aktarılması gereken Win32 dinamik bağlantı kütüphanesinin adını belirtirken, EntryPoint özelliği Win32 kütüphanesinde eşlenecek fonksiyonun ad tanımını belirler. C#'da, harici fonksiyon proxy olarak kullanılması gereken herhangi bir C# fonksiyonunun kamuya açık statik dışkı olarak ilan edilmesi gerektiği belirtilmelidir.





Önceki:"'Emgu.CV.CvInvoke' için tür başlatıcısı istisna yaptı"?
Önümüzdeki:Lütfen bana win10 Cortana'yı nasıl çalıştıracağımı söyle
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com