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

MFC Discussion :

Compter les Objets GDI


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    116
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 116
    Par d�faut Compter les Objets GDI
    Bonjour � tous,

    est-ce que quelqu'un sait comment calculer par programmation (VC++) les objets GDI dans une application ?

    Je voudrais arriver � coder ce que montre le Gestionnaire des t�ches pour la colonne Objets GDI

    D'avance merci.

  2. #2
    Expert confirm�
    Avatar de Mat.M
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 538
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 538
    Par d�faut
    1-Appeler OpenProcess
    2-appeler GetGuiResources contenue dans user32.dll avec ProcessAdress et cr�er un pointeur de fonction dessus
    3 GetGuiResources donnera l'info voulue

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    116
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 116
    Par d�faut
    D�sol� pour le retard !

    Salut et merci.
    Je viens de tester, et �a ne fonctionne pas !!

    Voici mon code :

    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
     
    if (m_hInstRsrc == NULL)
                m_hInstRsrc = LoadLibrary("user32.dll");
            if (m_hInstRsrc != NULL)
            {
     
                GETRES pGetRes = (GETRES) GetProcAddress(m_hInstRsrc, "_MyGetFreeSystemResources32@4");//); 
                if (pGetRes)
                {
    	            long lSysRes = (*pGetRes)(GFSR_SYSTEMRESOURCES);
    	            //long lGdiRes = (*pGetRes)(GFSR_GDIRESOURCES);
    	            //long lUsrRes = (*pGetRes)(GFSR_USERRESOURCES);
                    return lSysRes;
                }
            }
    le pointeur pGetRes est null !!

    Je ne comprends pas.

  4. #4
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Les noms sont export�s non-d�cor�s dans les DLLs Windows.

    Et tu devrais aussi essayer en appelant directement GetGuiResources(), pas MyGetFreeSystemResources32()...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    116
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 116
    Par d�faut
    Salut,
    D�sol� pour le retard dans la r�ponse.

    donc, tout d'abord, merci de ta r�ponse.

    Je viens d'essayer, et effectivement, en codant
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    long lGdiRes = GetGuiResources(GetCurrentProcess(), 0);
    dans la variable lGdiRes, on a bien le nombre d'objets GDI utilis�s par l'application.
    Excellent !!!

    Je pense qu'il doit exister les m�thodes qui vont bien pour aussi r�cup�rer le nombre de DC, le nombre de Brush, ...

    Merci pour tout.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [D�butant] Compter les trous d'un objet
    Par fakeclk dans le forum Images
    R�ponses: 6
    Dernier message: 28/10/2011, 13h24
  2. R�ponses: 0
    Dernier message: 29/10/2010, 16h09
  3. Compter les valeurs d'un tableau
    Par leeloo076 dans le forum ASP
    R�ponses: 6
    Dernier message: 30/03/2004, 13h29
  4. [MFC] lib�ration des objets GDI's
    Par Kevgeii dans le forum MFC
    R�ponses: 5
    Dernier message: 01/02/2004, 10h37
  5. Rafraichissement de la fiche ainsi que de tous les objets
    Par portu dans le forum Composants VCL
    R�ponses: 7
    Dernier message: 06/01/2004, 00h25

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