Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 20943|Răspunde: 0

[Sursă] C# importă și apelează funcții API Win32 prin DllImport

[Copiază linkul]
Postat pe 26.11.2015 10:14:48 | | |
În programele C#, adesea trebuie să apelăm direct API-urile subiacente oferite de Windows pentru a controla mai bine funcționarea programului, dar deoarece C# rulează pe . Nu putem chema limbajele gestionate pe Net CLR incluzând direct fișierul de antet .h al API-ului Win32, ca într-un limbaj precum C++. Din fericire, Microsoft ne-a oferit încă de la început o modalitate de a mapa funcțiile din API-ul Win32 în cod C# prin DllImport Attribute.
[DllImport("user32.dll", EntryPoint = "FindWindow")]
extern static public int FindWindow(
            șirul lpClassName,
            șirul lpWindowName);
Dintre acestea, user32.dll specifică numele bibliotecii dinamice de legături Win32 care trebuie importate, în timp ce proprietatea EntryPoint specifică definiția numelui funcției care urmează să fie mapată în biblioteca Win32. Trebuie menționat că, în C#, orice funcție C# care trebuie folosită ca proxy extern trebuie declarată ca un extern static public ***.





Precedent:"Inițializatorul de tip pentru 'Emgu.CV.CvInvoke' a făcut o excepție"?
Următor:Vă rog să-mi spuneți cum să antrenez Cortana cu Win10
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com