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.