typedef BOOL WINAPI (*SetConsoleDisplayModeT)(HANDLE,DWORD,DWORD*);
Déclare d'un nouveau type SetConsoleDisplayModeT pointeur de fonction qui retourne un BOOL, qui reçoit 3 paramètres (HANDLE,DWORD,DWORD*) et dont la convention d'appel est WINAPI
SetConsoleDisplayModeT SetConsoleDisplayMode;
Déclare unbe variable SetConsoleDisplayMode (pointeur de fonction) du type SetConsoleDisplayModeT
HINSTANCE hLib=LoadLibrary("KERNEL32.DLL");
Charge la DLL KERNEL32.DLL
SetConsoleDisplayMode=(SetConsoleDisplayModeT)GetProcAddress(hLib,"SetConsoleDisplayMode");
Initialise la variable SetConsoleDisplayMode avec l'adresse de la fonction SetConsoleDisplayMode() de la DLL "KERNEL32.DLL" (avec un cast pour supprimer le warning)
1 2
| HANDLE h=CreateFile("CONOUT$",GENERIC_WRITE|GENERIC_READ,FILE_SHARE_READ |
FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,0); |
Ouvre la console (je suppose mais en fait, je ne suis pas très sûr)
1 2
| DWORD oldmode;
SetConsoleDisplayMode(h,1,&oldmode) |
Modifie le mode la console en utilisant le pointeur de fonction et récupère l'ancien mode. Juste une remarque, la valeur 1 n'est pas très parlante et ressemble à une valeur magique. Si tu pouvais utiliser une constante, cela serait plus parlant (pour une future relecture)
Partager