Bonjour,
Je voudrais savoir s'il est possible (et si oui comment) connaître le pourcentage de charge du CPU à partir d'un .bat.
Merci pour votre aide.
Bonjour,
Je voudrais savoir s'il est possible (et si oui comment) connaître le pourcentage de charge du CPU à partir d'un .bat.
Merci pour votre aide.
peut-être en Vbscript avec un WMI je crois que c'est réalisable
salut,
une chose du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part CMD> wmic path Win32_Processor get LoadPercentage /every:1 /format:list
Voici un Vbscript qui peut te renseigner sur pas mal d'infos sur ton CPU et la partie qui te concerne c'est la méthode .LoadPercentage
Donc enregistre-le sous CPU.vbs et tester-le
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor",,48) For Each objItem in colItems mess= mess & "AddressWidth: " & objItem.AddressWidth & vbCrLf mess= mess & "Architecture: " & objItem.Architecture & vbCrLf mess= mess & "Availability: " & objItem.Availability & vbCrLf mess= mess & "Caption: " & objItem.Caption & vbCrLf mess= mess & "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode & vbCrLf mess= mess & "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig & vbCrLf mess= mess & "CpuStatus: " & objItem.CpuStatus & vbCrLf mess= mess & "CreationClassName: " & objItem.CreationClassName & vbCrLf mess= mess & "CurrentClockSpeed: " & objItem.CurrentClockSpeed & vbCrLf mess= mess & "CurrentVoltage: " & objItem.CurrentVoltage & vbCrLf mess= mess & "DataWidth: " & objItem.DataWidth & vbCrLf mess= mess & "Description: " & objItem.Description & vbCrLf mess= mess & "DeviceID: " & objItem.DeviceID & vbCrLf mess= mess & "ErrorCleared: " & objItem.ErrorCleared & vbCrLf mess= mess & "ErrorDescription: " & objItem.ErrorDescription & vbCrLf mess= mess & "ExtClock: " & objItem.ExtClock & vbCrLf mess= mess & "Family: " & objItem.Family & vbCrLf mess= mess & "InstallDate: " & objItem.InstallDate & vbCrLf mess= mess & "L2CacheSize: " & objItem.L2CacheSize & vbCrLf mess= mess & "L2CacheSpeed: " & objItem.L2CacheSpeed & vbCrLf mess= mess & "LastErrorCode: " & objItem.LastErrorCode & vbCrLf mess= mess & "Level: " & objItem.Level & vbCrLf mess= mess & "LoadPercentage: " & objItem.LoadPercentage & vbCrLf mess= mess & "Manufacturer: " & objItem.Manufacturer & vbCrLf mess= mess & "MaxClockSpeed: " & objItem.MaxClockSpeed & vbCrLf mess= mess & "Name: " & objItem.Name & vbCrLf mess= mess & "OtherFamilyDescription: " & objItem.OtherFamilyDescription & vbCrLf mess= mess & "PNPDeviceID: " & objItem.PNPDeviceID & vbCrLf mess= mess & "PowerManagementCapabilities: " & objItem.PowerManagementCapabilities & vbCrLf mess= mess & "PowerManagementSupported: " & objItem.PowerManagementSupported & vbCrLf mess= mess & "ProcessorId: " & objItem.ProcessorId & vbCrLf mess= mess & "ProcessorType: " & objItem.ProcessorType & vbCrLf mess= mess & "Revision: " & objItem.Revision & vbCrLf mess= mess & "SocketDesignation: " & objItem.SocketDesignation & vbCrLf mess= mess & "Status: " & objItem.Status & vbCrLf mess= mess & "StatusInfo: " & objItem.StatusInfo & vbCrLf mess= mess & "Stepping: " & objItem.Stepping & vbCrLf mess= mess & "SystemCreationClassName: " & objItem.SystemCreationClassName & vbCrLf mess= mess & "SystemName: " & objItem.SystemName & vbCrLf mess= mess & "UniqueId: " & objItem.UniqueId & vbCrLf Next msgbox mess
Voici en mode graphique avec un HTA en utilisant les couleurs suivant la charge de votre CPU% :
- vert si CPU% < 20%
- Orange si 20% < CPU% < 70%
- Rouge si CPU% > 70%
Donc juste vous copiez et collez ce code dans le Bloc-note et enregistrez-sous : CPU.hta
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 <html> <head> <title></title> <HTA:APPLICATION ID="CPU%-AutoRefresh" APPLICATIONNAME="Usage CPU en %" BORDER="dialog" BORDERSTYLE="complex" CONTEXTMENU="no" SYSMENU="no" MAXIMIZEBUTTON="no" SCROLL="no" ICON="Verifier.exe" > </head> <META HTTP-EQUIV="MSThemeCompatible" CONTENT="YES"> <SCRIPT LANGUAGE="VBScript"> Sub Window_OnLoad CenterWindow 100,100 Refresh iTimerID = window.setInterval("Refresh", 1000) End Sub Sub CenterWindow(x,y) window.resizeTo x, y iLeft = window.screen.availWidth/2 - x/2 itop = window.screen.availHeight/2 - y/2 window.moveTo ileft, itop End Sub Sub Refresh strHTML = "" strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Processor") For Each objProcess in colProcesses Self.document.title = "Usage CPU "& objProcess.LoadPercentage & " %" If objProcess.LoadPercentage < 20 Then strHTML ="<center><b><font color='LightGreen' size='6'>"& objProcess.LoadPercentage & " %</font>" ElseIf objProcess.LoadPercentage < 70 Then strHTML ="<center><b><font color='Orange' size='6'>"& objProcess.LoadPercentage & " %</font>" Else strHTML ="<center><b><font color='Red' size='6'>"& objProcess.LoadPercentage & " %</font>" End if Next UsageCPU.InnerHTML = strHTML End Sub </SCRIPT> <body STYLE="font:14 pt arial; color:white;filter:progid:DXImageTransform.Microsoft.Gradient (GradientType=1, StartColorStr='#000033', EndColorStr='#0000FF')"<span id = "UsageCPU"></span></body> </html>
Salut,
merci du partage hackoofr, ah si seulement vous avez mis le SYSMENU à 'yes' ça nous aurrais éviter de killer ce maudit mshta![]()
Partager