Commande affichant la quantité de mémoire

Commande affichant la quantité de mémoire - Shell/Batch - Programmation

Marsh Posté le 17-08-2014 à 22:40:28    

Salut à tous.
Alors voilà j'aurais besoin de créer un mini-programme permettant de voir la quantité de mémoire RAM utilisée, et si elle dépasse un certain seuil fixé à l'avance, le programme exécute une suite de commande.
Je voudrais savoir si il existe des commandes en batch permettant de récupérer la quantité de RAM utilisée ?
 
Si cela n'existe pas, y-aurais t'il un autre langage le permettant ?
 
Merci d'avance :)


---------------
Poupi Poupi Poupipou
Reply

Marsh Posté le 17-08-2014 à 22:40:28   

Reply

Marsh Posté le 17-08-2014 à 23:33:44    

Bonjour !
 
Je ne sais pas si c'est réalisable en batch, mais l'API système étant en C, cela semble relativement facile à faire en C :  
http://stackoverflow.com/questions [...] ndows-in-c, ou, de façon plus complète, les fonctions de gestion de la mémoire (sur MSDN) : http://msdn.microsoft.com/en-us/li [...] 85%29.aspx
 
Bonne continuation !

Reply

Marsh Posté le 18-08-2014 à 00:34:32    

Je viens de trouver la commande WMIC qui permet de récupérer la mémoire disponible. Malheureusement pour moi, cette commande n'existe pas chez moi et je ne comprends pas pourquoi...


---------------
Poupi Poupi Poupipou
Reply

Marsh Posté le 18-08-2014 à 13:49:24    

Si vous vous êtes inspiré de ceci : http://forum.sysinternals.com/scri [...] 15511.html
ce n'est plus valable, car Win32_LogicalMemoryConfiguration n'existe plus. Voir http://msdn.microsoft.com/en-us/li [...] s.85).aspx
 
Heureusement, il existe à la place Win32_OperatingSystem qui le remplace un peu. Voir http://msdn.microsoft.com/en-us/li [...] s.85).aspx
Donc, on peut avoir le programme batch (VBS) suivant :  

Computer = "."
Set WMIService = GetObject("winmgmts:\\" & Computer & "\root\cimv2" )
Set Items = WMIService.ExecQuery("Select * from Win32_OperatingSystem" )
For Each Item in Items
    Wscript.Echo "FreePhysicalMemory: " & Item.FreePhysicalMemory  
    Wscript.Echo "FreeSpaceInPagingFiles: " & Item.FreeSpaceInPagingFiles
    Wscript.Echo "FreeVirtualMemory: " & Item.FreeVirtualMemory
    Wscript.Echo "TotalSwapSpaceSize: " & Item.TotalSwapSpaceSize
    Wscript.Echo "TotalVirtualMemorySize: " & Item.TotalVirtualMemorySize
    Wscript.Echo "TotalVisibleMemorySize: " & Item.TotalVisibleMemorySize
Next


Message édité par olivthill le 18-08-2014 à 13:50:10
Reply

Marsh Posté le 18-08-2014 à 19:52:30    

Je ne connais pas du tout le visual basic donc je vais commencer à apprendre. Déjà merci pour ce bout de code, une partie me sera bien utile. Ensuite, j'aurais besoin que le programme "appuie" sur une touche du clavier, est-ce possible en VB ?
 
 
EDIT : j'ai bien trouvé ce qu'il me fallait, normalement mon mini-programme devrait fonctionner. Merci à tous, je dois chercher maintenant comment je peux vérifier l'existence d'un processus :)


Message édité par P'tit Serpent le 18-08-2014 à 20:40:27

---------------
Poupi Poupi Poupipou
Reply

Marsh Posté le 18-08-2014 à 22:19:51    

Enumère les avec wmi: http://msdn.microsoft.com/en-us/li [...] 85%29.aspx


---------------
Seul Google le sait...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed