.NET Framework Appeler une fonction Win32 dll


Exemple

using System.Runtime.InteropServices;

class PInvokeExample
{
    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    public static extern uint MessageBox(IntPtr hWnd, String text, String caption, int options);

    public static void test()
    {
        MessageBox(IntPtr.Zero, "Hello!", "Message", 0);
    }
}

Déclarez une fonction en tant que fichier static extern DllImportAttribute avec sa propriété Value définie sur .dll name. N'oubliez pas d'utiliser l'espace de noms System.Runtime.InteropServices . Puis appelez-le comme une méthode statique régulière.

Platform Invocation Services se chargera de charger le fichier .dll et de trouver la finition souhaitée. Dans la plupart des cas, le P / Invoke regroupera également les paramètres et renverra la valeur vers et depuis le fichier .dll (c.-à-d. La conversion des types de données .NET en fichiers Win32 et inversement).