IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Comment fonctionne ce bout de code ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 126
    Par défaut Comment fonctionne ce bout de code ?
    Bonjour à tous,

    Voilà j'ai récupérer il y à déjà un moment mais sans me rappeler à quel endroit un morceau de code dont jusqu'ici je ne m'étais jamais servis et en le retrouvant je me demande bien comment il fonctionne ?

    Sachant qu'il à pour objectif de passer la console en mode plein écran...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    typedef BOOL WINAPI (*SetConsoleDisplayModeT)(HANDLE,DWORD,DWORD*);
        SetConsoleDisplayModeT SetConsoleDisplayMode;
     
        HINSTANCE hLib=LoadLibrary("KERNEL32.DLL");
        SetConsoleDisplayMode=(SetConsoleDisplayModeT)
     
     
     
                              GetProcAddress(hLib,"SetConsoleDisplayMode");
     
        HANDLE h=CreateFile("CONOUT$",GENERIC_WRITE|GENERIC_READ,FILE_SHARE_READ |
                            FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,0);
     
        DWORD oldmode;
     
        SetConsoleDisplayMode(h,1,&oldmode)
    Si quelqu'un pourrait illuminer ma lanterne ça me rendrais service !

    Merci d'avance

    Masterix59

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetConsoleDisplayModeT SetConsoleDisplayMode;
    Déclare unbe variable SetConsoleDisplayMode (pointeur de fonction) du type SetConsoleDisplayModeT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HINSTANCE hLib=LoadLibrary("KERNEL32.DLL");
    Charge la DLL KERNEL32.DLL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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)
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. Comment accélérer ce bout de code Swing ?
    Par jjazzboss dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 12/01/2012, 19h00
  2. Comment crypter un bout de code ?
    Par Mooshy dans le forum Langage
    Réponses: 4
    Dernier message: 23/05/2011, 18h21
  3. comment stopper ce bout de code si "erreur" ?
    Par delux450 dans le forum Langage
    Réponses: 10
    Dernier message: 17/06/2008, 10h26
  4. Bout de code à commenter
    Par xev74 dans le forum ASP
    Réponses: 3
    Dernier message: 16/11/2006, 08h50
  5. Réponses: 9
    Dernier message: 14/11/2006, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo