Les dll natives de windows en csharp

    Publié le : 07-01-2019 19:19

    Une DLL native, c'est quoi ?

    La Dynamics Link Library est une bibliothèque logicielle contenant des classes des fonctions et des méthodes qui sont chargées en fonction des besoins de l'application. Le concept de natif sous-entend des bibliothèques déjà présentes avant l'intervention d'un développeur sur un projet.

    Comment ça utilise ?

    Il faut déclarer la directive

    using System.Runtime.InteropServices;

    Puis effectuer des imports des Dll natives du noyaux (ex : kernel32.dll, user32.dll,setupapi.dll, etc) ainsi que de la fonction souhaitée

    //Pour Prendre le focus sur une fenêtre
    [DllImport("user32.dll")]
    private static extern bool SetForegroundWindow(IntPtr hWnd);
    

    Les possibilités ?

    • Verrouiller/déverrouiller les interfaces hommes machines
    • Récupérer le "handler" d'un processus
    • Récupérer le PID d'un "handler"
    • Récupérer/assigner la taille d'une fenêtre
    • Définir la nouvelle position de la fenêtre
    • Connaître l'application qui a le focus
    • Prendre le focus
    • Récupérer les coodonnées de la fenêtre
    • Connaître la position du curseur
    • Forcer la fermeture/ le verrouillage de la session
    • Emuler une interractionclavier/souris
    • etc

    La liste n'est pas exhaustive.