begin process at 2012 02 10 01:37:51
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

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

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


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :gdi, multicolore, crt, autonome, hexagonale Niveau :Débutant Date de création :19/08/2006 Vu / téléchargé :10 338 / 453 032

Auteur : racpp

Ecrire un message privé
Commentaire sur cette source (40)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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.



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   IndicateurRAM

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture SOUS-CLASSEMENT DE FENÊTRE D'UN AUTRE PROCESS PAR INJECTION ...
Source avec Zip Source avec une capture FENÊTRE FLOTTANTE SANS FOCUS (WIN32 API)
Source avec Zip Source avec une capture SERVICE WINDOWS DANS UNE DLL LANCÉ PAR SVCHOST.EXE
Source avec Zip Source avec une capture IMPRESSION EN WIN32 API AVEC OPTIONS
Source avec Zip Source avec une capture INFOTIP SHELL EXTENSION (BULLE DE L'EXPLORATEUR WINDOWS) (WI...

 Sources de la même categorie

Source avec Zip SCHEDULER RR FIFO par yvesB87
Source avec Zip ALGORITHMES RÉCURSIFS VS ALGORITHMES ITÉRATIFS par yvesB87
Source avec Zip Source avec une capture C++ FORMAT D'IMAGE AVEC QT par pop70
Source avec une capture EXEMPLE DE POINTEURS DE FONCTION par pop70
Source avec Zip Source avec une capture [C++] CLASS REGISTER par Miwik

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture ONGLETS MULTICOLORES (WIN32 API) par racpp
Source avec Zip Source avec une capture SNAKE GRAPHIQUE (GDI) - 2 JOUEURS par bbear
Source avec Zip BASE POUR L'UTILISATION DU GDI (API WINDOWS) par _michel
Source avec Zip REMPLACE CRT (WIN64) par Arnotic
Source avec Zip Source avec une capture STRUCTURE DE JEU 2D par f_l_a_s_h_b_a_c_k

Commentaires et avis

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.

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.

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é :)

Commentaire de BruNews le 19/08/2006 22:05:09 administrateur CS

Idem je ne vais pas au dela de 29 %.

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.

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.

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?

Commentaire de BruNews le 19/08/2006 23:41:38 administrateur CS

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

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.

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

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.

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 !

Commentaire de wxccxw le 21/08/2006 12:47:35

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

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 ^^

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.

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 !

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

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é

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.

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 %)

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

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.

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

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.

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

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?

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.

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

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.

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 ?

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.

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)

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é.

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 :)

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.

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):(.

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 ...

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é .

Commentaire de dwid le 20/10/2006 10:01:15

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

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


Discussions en rapport avec ce code source dans le forum

Au bord du suicide à cause des GDI et d'une Listbox [ par mzhunix ] Bonjour à tous !J'ai un petit probleme concernant les gdi et l'affichage d'un bitmap sur une listbox. Le tous cree avec des api's et en langage C.En f probleme offscreen en GDI [ par pipo ] j'ai un soucis en GDI :ce que je veux, c'est de travailler sur une zone offscreen pour y animer/coller tout mon graphisme, puis de coller cette zone s GDI : probleme de splitting en offscreen [ par pipo ] j'ai un soucis en GDI :ce que je veux, c'est de travailler sur une zone offscreen pour y animer/coller tout mon graphisme, puis de coller cette zone s Comment faire un exe autonome ss builder?? [ par Xanders ] CA VA TRÈs MAL ! ressource gdi [ par michelmt ] j'ai fais un programme qui sert a comptécombien de pièce je peut entré dans une feuille de stratifieril me dessine les grandes feuilles puis y insertl GDI et fonction OnDraw [ par BarthOlivier ] Salut a tous....J'ai une petite question concernant les routines graphique...Travaillant sous VB, je n'etais pas familiarisé avec les questions de con GDI windows [ par moi1392 ] Bonjour, j'ai un léger soucis avec l'API win32.Alors voila, je voudrais tracer un rectangle vide au milieu mais avec une certaine epaisseur de bord.La GDI GetPixel trop LENT !!! [ par idk ] bonjour, je voudrai savoir, si il y a pas moyen d eviter de faire un getPixel pour connaitre la couleur d un pixel ! Parce que cette fonction est supe gdi et dessin [ par Arkko ] Je dessine quelque chose sur mon dialog avec gdi (fonction Rectangle) et quand je la reduit et la remet ... le dessin s'efface ... mais le dessin est Crt-C ou la croix dans la console en C ou C++ je voudrais l interdire [ par budo ] voila je ne vois comment interdire la touche CRT-Cdans mon application console je gere le clavier parfaitement mais si j'avais un exemple vois utilisa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales