begin process at 2008 08 08 21:46:05
1 223 607 membres
365 nouveaux aujourd'hui
14 230 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

INDICATEUR DE L'ETAT DE LA RAM (WIN32 SANS CRT)


Information sur la source

Catégorie :Astuces Classé sous : gdi, multicolore, crt, autonome, hexagonale Niveau : Débutant Date de création : 19/08/2006 Vu / téléchargé: 6 515 / 452 896

Note :
10 / 10 - par 3 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (40)
Ajouter un commentaire et/ou une note

Description

Voici un code source dans lequel j'ai rassemblé des astuces qui pourraient vous être utiles. Il s'agit d'un indicateur de l'état courant de la RAM. L'icone dans la zone TrayIcon est créée dynamiquement, modifiée puis affichée. La boite de dialogue est de forme hexagonale. La progress bar est multicolore. Elle est dessinée entièrement avec les fonctions de la GDI. Ces dernières sont également utilisées pour tracer un tableau de trois lignes et deux colonnes. La taille de l'exécutable est très réduite grâce aux options du compilateur et de l'éditeur de liens. Elle ne fait que 7Ko. C'est surtout grâce à la non dépendance à la CRT.
Pour quitter le programme faites un clic droit sur l'icone pour voir le menu contextuel. Un simple clic gauche permet d'afficher la boite de dialogue.
Le projet est réalisé en C sous Visual C/C++ 2005 Express. Testé sous Windows 2000 et XP.
Commentaires et remarques sont les bienvenus.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   IndicateurRAM

Télécharger le zip

  • signaler à un administrateur
    Commentaire de racpp le 19/08/2006 20:38:12 administrateur CS

    J'aimerais préciser que l'idée originale d'un indicateur de l'état de la RAM sur progressbar est de wxccxw.

  • signaler à un administrateur
    Commentaire de BruNews le 19/08/2006 21:41:56 administrateur CS

    Je recompile ton proj en mettant "Maximize Speed" et "Favor fast code" dans les options, l'exe passe à 7.5 Ko au lieu de 7.
    Je pense qu'il faut toujours privilégier l'efficacité à la taille surtout que ça enfle très peu dès qu'on n'utilise pas de CRT.

  • signaler à un administrateur
    Commentaire de vecchio56 le 19/08/2006 22:01:11 administrateur CS

    Pas mal, mais je n'utilise pas assez de mémoire pour bénéficier de ton joli dégradé :)

  • signaler à un administrateur
    Commentaire de BruNews le 19/08/2006 22:05:09 administrateur CS

    Idem je ne vais pas au dela de 29 %.

  • signaler à un administrateur
    Commentaire de SAKingdom le 19/08/2006 22:53:20

    Moi j'ai pu profiter du dégradé en poussant ma machine à fond en ouvrant plusieurs applications très gourmande.
    Cependant, même au repos, ma consomation de mémoire vive est toujours au alentour de 40%. Si t'as des trucs BruNews pour diminuer la consomation mémoire et augmenter la réactivité et la rapidité du system (fermeture de service Windows par exemple), je suis prenant.

    Pour en revenir au code, très clair, très propre, bonne descriptions. Continue à nous faire des codes comme ça. Moi j'adore car c'est vraiment pas difficile à comprendre.

  • signaler à un administrateur
    Commentaire de BruNews le 19/08/2006 23:08:03 administrateur CS

    Pas de: "style" (win classique), économiseur d'écran, fond d'écran, etc... En somme enlever toutes les conneries inutiles et nuisibles.
    2 sessions IE, OE pour les mails, Explorateur, VS 2005, Excel, Word, MSN 8.
    J'ai beau lancer la compil, n'a pas dépassé 31% de mes 2 Go.
    Il est clair qu'à part Norton Corporate, j'ai très peu de résidents mémoire, 4 icones à coté de l'horloge.

  • signaler à un administrateur
    Commentaire de SAKingdom le 19/08/2006 23:33:54

    Ok merci. Mais malgré tout, je reste encore à 39% (200Mo sur 512. C'est ce que j'ai) alors je me demande si des services Windows ne seraient pas à la base de ce problème. Aussi, je serais interressé de savoir si 349 threads sont des valeurs normal en terme de consommation des ressource processeur ou au dessus de la normal?

  • signaler à un administrateur
    Commentaire de BruNews le 19/08/2006 23:41:38 administrateur CS

    Tu as 512 Mo de RAM, ben alors c'est normal.

  • signaler à un administrateur
    Commentaire de racpp le 20/08/2006 02:29:10 administrateur CS

    Merci chers amis pour vos commentaires.
    BruNews >> C'est vrai qu'il faut toujours privilégier la vitesse. Mais dans ce code, je voulais voir jusqu'où on peut aller dans la réduction de la taille de l'EXE.
    vecchio56 >> Pour réaliser l'aperçu du programme, je l'ai exécuté sur un PC de 256Mo de RAM. Si tu veux regarder la totalité du dégradé, tu peux réaliser un petit programme (quelques lignes de code) qui alloue énormément de mémoire.

  • signaler à un administrateur
    Commentaire de deck_bsd le 20/08/2006 10:56:24

    Chez moi il fonctionne parfaitement, mise a jour de la RAM , dégradé , tout va nikel :D Bonne source :D

  • signaler à un administrateur
    Commentaire de krust le 20/08/2006 13:25:18

    Pas mal comme programme, j'ai réussi à afficher 76% du dégradé en créant un document 8000x8000 sous photoshop en y ajoutant 15 layers. C'était amusant de voir la bar d'utilisation monter.
    Un petit Ctrl+alt+del pour vérifier que Adobe prenait bien 1,05Go de ram huhu.

    Sympa comme projet, il serait p-e temps que je me mette au GDI :)

    Ciao,

    Krust.

  • signaler à un administrateur
    Commentaire de krust le 20/08/2006 13:26:35

    Ha ouais, aussi un truc pour avoir un windows moins lent : Evite le maximum d'icones sur le bureau.
    Y a pas photo, je suis passé de 80 à 5 et c'est fou la différence que ça fait !

  • signaler à un administrateur
    Commentaire de wxccxw le 21/08/2006 12:47:35

    heh Bravo, pas mal le degrader, je vais regarder.

  • signaler à un administrateur
    Commentaire de PLUiK le 21/08/2006 15:18:43

    Bon programme, mais selon moi tu devrais rajouter les chiffres du pourcentage sur le dégradé dans l'icone du systray. Enfin bon, c'est déjà bien comme ça, et ça reste mon avis personnel ^^

  • signaler à un administrateur
    Commentaire de racpp le 21/08/2006 15:24:51 administrateur CS

    PLUiK >> J'y avais pensé mais sans pouvoir y arriver. La police à utiliser doit être très petite. Après quelques essais, le pourcentage reste illisible. J'ai alors abandonné l'idée.

  • signaler à un administrateur
    Commentaire de darunia le 21/08/2006 15:51:22

    Je l'ai monté à 99% (facile mon PC au boulot est une vraie brouette !). Beau dégradé !
    Sinon le code est toujours aussi nickel : bravo !

  • signaler à un administrateur
    Commentaire de PLUiK le 22/08/2006 14:42:07

    Ben même un affichage basique sur l'icone, c'est po grave ^^ enfin du moment qu'on peut lire ;)
    là je suis en train d'essayer de modifier un peu ton code pour essayer de créer une police, mais bon c'est pas très facile, et ça a un résultat... pas vraiment lisible lol
    je t'enverrai le code si tu veux

  • signaler à un administrateur
    Commentaire de vecchio56 le 22/08/2006 15:02:55 administrateur CS

    La police que Windows utilise pour afficher l'heure semble être bien suffisante pour ca (a moins de vouloir aussi afficher le symbole %, dans ce cas c'est plus compliqué

  • signaler à un administrateur
    Commentaire de racpp le 22/08/2006 15:58:32 administrateur CS

    Salut,
    PLUiK >> Comme je disais plus haut, j'ai fait des tests avec différentes polices. Le résultat est le même.

    vecchio56 >> En plus du symbole %, qui me parait indispensable, il y'a le problème de la couleur de la police. Pour un meilleur contraste, j'ai choisi le bleu foncé comme couleur de fond de l'icone. Si la police est noire ou grise, elle sera illisible sur ce fond. Si elle est blanche, elle sera illisible quand le dégradé atteint le jaune. Bref, ce n'est pas évident de trouver une couleur convenable.

  • signaler à un administrateur
    Commentaire de vecchio56 le 22/08/2006 16:22:10 administrateur CS

    Dans ce cas, au lieu de créer une police, le mieux est de créer plusieurs bitmaps (tu en a 11 à faire:0-9 et %)

  • signaler à un administrateur
    Commentaire de vecchio56 le 22/08/2006 17:18:57 administrateur CS

    http://vecchio56.free.fr/IndicateurRAM.exe

    J'ai un truc lisible mais c'est quand même pas terrible (sur 16 pixels, je suis pas sur qu'on puisse faire beaucoup mieux)
    Par contre le problème c'est que c'est fait avec des bitmap sur font blanc, donc si on veux le faire sur l'arrière plan que tu avais avant, il a du boulot supplémentaire a faire

  • signaler à un administrateur
    Commentaire de racpp le 22/08/2006 18:59:00 administrateur CS

    L'idée des bitmaps est bonne mais ça ne résoud pas le problème des couleurs Texte/Fond.

  • signaler à un administrateur
    Commentaire de PLUiK le 23/08/2006 09:14:14

    Ben en fait moi je ne serais pas trop tenté d'afficher le '%', mais bon... Mais pour le contraste, il faudrait enlever des couleurs dans le dégradé afin d'avoir plus de possibilité...
    En fait j'ai eu l'idée de l'affichage du texte à partir de RamBoost XP

  • signaler à un administrateur
    Commentaire de racpp le 23/08/2006 15:50:39 administrateur CS

    Personnellement, je préfère l'icone en dégradé. C'est plus joli et ça donne une idée claire sur l'occupation de la RAM.

  • signaler à un administrateur
    Commentaire de PLUiK le 23/08/2006 16:59:39

    Non, en fait en enlevant des couleurs dans le dégradé, je voulais dire faire un dégradé avec deux couleurs primaires pour utiliser la troisième pour afficher le texte. Mais c'est vrai qu'un dégradé tricolore c'est plus joli qu'avec deux couleurs seulement ;)
    Et l'affichage du pourcentage, c'est juste un peu plus pratique, ça évite d'ouvrir la fenêtre pour voir combien de % tel programme utilise. lol
    Sinon j'ai réussi à modifier le programme pour que ça affiche le pourcentage en vert (il y a un dégradé rouge-bleu) sans BMP, et c'est assez lisible :p si tu veux je te l'enverrai

  • signaler à un administrateur
    Commentaire de racpp le 23/08/2006 17:39:58 administrateur CS

    Mon dégradé utilise justement deux couleurs primaires: le rouge et le vert. Le bleu est laissé pour la couleur de fond.
    Pour voir le pourcentage, il suffit de mettre le curseur au dessus de l'icone. Pour ouvrir la fenêtre on fait un simple clic sur cette icone.
    Tu peux envoyer ton exemple par émail ou le mettre en téléchargement?

  • signaler à un administrateur
    Commentaire de wxccxw le 24/08/2006 11:26:37

    encore bravo Racpp, j'aime beaucoup, ( a par la forme de la fenetre ^^) mais sinon l'exemple est cool c'est exactement ce que je cherchez a faire.

  • signaler à un administrateur
    Commentaire de PLUiK le 24/08/2006 17:29:23

    Voilà ce que j'ai plus ou moins réussi à faire: http://membres.lycos.fr/remslf/IndicateurRAM.exe
    En fait je me suis gourré pour les couleurs que j'ai citées plus haut, elle ne correspondent pas du tout à celle du programme.
    PS: les chiffres sont affichés à l'aide d'une "police" contenue en mémoire (qui est en fait un tableau de BOOL), et le programme n'affiche pas le '%' à coté des chiffres

  • signaler à un administrateur
    Commentaire de racpp le 24/08/2006 17:49:02 administrateur CS

    Merci pour l'effort. Mais l'icone n'est plus jolie. Les couleurs utilisées ne symbolisent rien. Le pourcentage n'est pas très net.
    Tu peux nous parler un peu plus de ta "police" en mémoire avec des BOOLs?
    Merci.

  • signaler à un administrateur
    Commentaire de NitRic le 24/08/2006 22:11:58

    Question: Pourquoi sans « CRT » ?

    Ne me dites pas « portabilité » car c'est faux.
    Vous passez votre temps a utiliser des extensions MS-Specific et des macros aussi MS-Specific alors ce n'est pas plus portable ...

    Avez-vous une bonne raison de ne pas utiliser le CRT ?

  • signaler à un administrateur
    Commentaire de BruNews le 24/08/2006 22:21:34 administrateur CS

    Mais non ce n'est pas pour "portabilité", grosso modo on s'en tape comme de l'an 1000, c'est deja portable avec 95% des PCs de la planète.
    Enlever le CRT produit un executable nettement plus petit.

  • signaler à un administrateur
    Commentaire de NitRic le 24/08/2006 22:26:08

    C'est uniquement pour obtenir un exécutable plus petit?
    Mais dans quel but? Pour que votre exécutable prenne moins de place dans le fichier ZIP?

    (Notez que je ne critique pas, je me questionne)

  • signaler à un administrateur
    Commentaire de BruNews le 24/08/2006 22:31:06 administrateur CS

    Il est clair qu'il n'y a pas que ça, on enlève entreautre toute dépendance hors les appels système. Bien entendu dans cet exemple de source, rien d'indispensable mais je trouve que c'est une bonne habitude.
    Ex ici: http://www.cppfrance.com/code.aspx?ID=39145
    Combien de fois j'ai vu sur le forum les ennuis pour compiler avec zlib, conflit de libc. En le supprimant, finis les ennuis et manips a la noix, on compile le prog utilisateur avec ou sans CRT, en C ou C++, enfin c'est liberté.

  • signaler à un administrateur
    Commentaire de NitRic le 24/08/2006 22:35:05

    D'accord, donc c'est spécifique à certaines situations si je comprend bien. Je croyais que vous aviez, en quelque sorte, bannis le CRT :)

    Je crois que ca répond a ma question, merci :)

  • signaler à un administrateur
    Commentaire de wxccxw le 25/08/2006 11:52:56

    ben sans les CRT sa fait des Exe "mieux" coder, plus leger, donc plus appreciable.

  • signaler à un administrateur
    Commentaire de PLUiK le 25/08/2006 18:03:07

    C'est vrai que mon programme est moins joli que le tien ^^ mais bon, pour qu'on puisse lire comme il le faudrait le pourcentage, il faudrait carrément supprimer le dégradé, mais ça serait carrément moins beau.
    Pour la "police" j'ai utilisé des tableaux de BOOL: comme tu peux le constater, les chiffres ne sont constitués que de barres, et ben il suffit de dire que tel BOOL représente telle barre, de créer les tableaux une fois dans le programme (je les ai définis comme globaux) et après d'afficher les barres en fonction du BOOL correspondant. En fait c'est plutot chiant à coder, et surtout à relire (le code est pas beau du tout):(.

  • signaler à un administrateur
    Commentaire de NitRic le 25/08/2006 21:30:51

    wxccxw: mieux codé !?!?!?!?! Ca, ca dépend du programmeur, pas du CRT ...

    Je vais me contenter des raisons données par BruNews, elles ont plus de ... sens ...

  • signaler à un administrateur
    Commentaire de ralebole le 03/09/2006 11:43:48

    Excelent j'ai meme rajouter 512 Mo de ram sur mon ordinateur car avant avec 256 Mo et un petit tour sur internet j'etait à 98% de ram utilisé .

  • signaler à un administrateur
    Commentaire de dwid le 20/10/2006 10:01:15

    quelqu'un peut expliquer comment on s'en sert de ce truc?

  • signaler à un administrateur
    Commentaire de racpp le 10/11/2006 13:49:34 administrateur CS

    DWID >> C'est simple. Télécharge le zip, décompresse-le puis ouvre le dossier "Release". Tu renommes le fichier "IndicateurRAM.ex_" en "IndicateurRAM.exe". Après avoir lancé ce programme, une icone apparait dans le systray. Cette icone montre l'occupation de la mémoire du PC. Pour afficher la boite de dialogue contenant le progressbar tu fais un clic sur l'icone ou utilise son menu contextuel.

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS