In C#-Programmen müssen wir oft die zugrunde liegenden APIs, die von Windows bereitgestellt werden, direkt aufrufen, um die Funktionsweise des Programms besser zu steuern, aber da C# auf ausgeführt wird. Wir können die verwalteten Sprachen im Net CLR nicht aufrufen, indem wir direkt die .h-Header-Datei der Win32-API einfügen, wie es bei einer Sprache wie C++ ist. Glücklicherweise hat Microsoft uns von Anfang an eine Möglichkeit zur Verfügung gestellt, Funktionen der Win32-API über das DllImport-Attribut in C#-Code zu mappen. [DllImport("user32.dll", EntryPoint = "FindWindow")] öffentliche statische externe int FindWindow( string lpClassName, String lpWindowName); Dazu gehört user32.dll den Namen der Win32-Dynamik-Linkbibliothek, die importiert werden muss, während die EntryPoint-Eigenschaft die Namensdefinition der in der Win32-Bibliothek zuweisenden Funktion vorgibt. Es sollte beachtet werden, dass in C# jede C#-Funktion, die als externer Funktionsproxy verwendet werden muss, als öffentliche statische externe *** deklariert werden muss.
|