Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 20943|Antwoord: 0

[Bron] C# importeert en roept Win32 API-functies aan via DllImport

[Link kopiëren]
Geplaatst op 26-11-2015 10:14:48 | | |
In C#-programma's moeten we vaak direct de onderliggende API's aanroepen die door Windows worden geleverd om de werking van het programma beter te kunnen beheersen, maar omdat C# op draait. We kunnen de beheerde talen op de Net CLR niet aanroepen door direct het .h-headerbestand van de Win32 API toe te voegen zoals een taal als C++. Gelukkig heeft Microsoft ons vanaf het begin een manier geboden om functies in de Win32 API in C#-code te mappen via het DllImport Attribut.
[DllImport("user32.dll", EntryPoint = "FindWindow")]
publieke statische externe int FindWindow(
            string lpClassName,
            string lpWindowName);
Hieronder specificeert user32.dll de naam van de Win32 dynamische linkbibliotheek die geïmporteerd moet worden, terwijl de EntryPoint-eigenschap de naamdefinitie specificeert van de functie die in de Win32-bibliotheek moet worden toegewezen. Het moet worden opgemerkt dat in C# elke C#-functie die als externe functieproxy moet worden gebruikt, moet worden verklaard als een publieke statische externe ***.





Vorig:"De type-initialisator voor 'Emgu.CV.CvInvoke' gaf een uitzondering"?
Volgend:Vertel me alsjeblieft hoe ik win10 Cortana kan trainen
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com