comment obtenir l'utilisation du processeur et de la mémoire dans le code VB 6? Merci!Comment obtenir l'utilisation actuelle du processeur et de la RAM dans VB 6?
0
A
Répondre
1
3
Déterminer l'utilisation du processeur sur la machine actuelle
Déclarations
Option Explicit
' Note that if you declare the lpData parameter as String, you
' must pass it By Value.
Private Declare Function RegQueryValueEx Lib "advapi32.dll" _
Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName _
As String, ByVal lpReserved As Long, lpType As Long, lpData As _
Any, lpcbData As Long) As Long
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias _
"RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, _
ByVal ulOptions As Long, ByVal samDesired As Long, _
phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" _
(ByVal hKey As Long) As Long
Private Const KEY_QUERY_VALUE = &H1
Private Const HKEY_DYN_DATA As Long = &H80000006
Private Const STAT_DATA = "PerfStats\StatData"
Private Const CPU_USE = "KERNEL\CPUUsage"
code
Public Function CPU_Usage_Percent() As Long
On Error GoTo errorhandler:
Dim lResult As Long
Dim lData As Long
Dim lType As Long
Dim hKey As Long
lResult = RegOpenKeyEx(HKEY_DYN_DATA, STAT_DATA, _
0, KEY_QUERY_VALUE, hKey)
If lResult = 0 Then
lResult = RegQueryValueEx(hKey, CPU_USE, 0, _
lType, lData, 4)
If lResult = 0 Then
CPU_Usage_Percent = lData
lResult = RegCloseKey(hKey)
End If
End If
Exit Function
errorhandler:
On Error Resume Next
RegCloseKey hKey
Exit Function
End Function
1
Voici comment obtenir vos informations de RAM:
Vous pouvez prendre le code ci-dessous et déposez simplement dans une forme. Je vous laisse la gestion des erreurs, car je pense que vous voulez juste utiliser cela comme un exemple. Il y a aussi une fonction pour convertir un entier de 64 bits en double VB, et une fonction pour formater le nombre en KB, MB et GB.
Private Declare Sub GlobalMemoryStatusEx Lib "kernel32" (lpBuffer As MEMORYSTATUSEX) Private Type INT64 LoPart As Long HiPart As Long End Type Private Type MEMORYSTATUSEX dwLength As Long dwMemoryLoad As Long ulTotalPhys As INT64 ulAvailPhys As INT64 ulTotalPageFile As INT64 ulAvailPageFile As INT64 ulTotalVirtual As INT64 ulAvailVirtual As INT64 ulAvailExtendedVirtual As INT64 End Type Private Sub Form_Load() Me.AutoRedraw = True Call PrintRamInformation End Sub Private Sub PrintRamInformation() Dim udtMemStatEx As MEMORYSTATUSEX Me.Cls udtMemStatEx.dwLength = Len(udtMemStatEx) Call GlobalMemoryStatusEx(udtMemStatEx) Me.Print "Total physical memory" + vbTab + NumberInKB(CLargeInt(udtMemStatEx.ulTotalPhys.LoPart, udtMemStatEx.ulTotalPhys.HiPart)) & " (" & Round(CLargeInt(udtMemStatEx.ulAvailPhys.LoPart, udtMemStatEx.ulAvailPhys.HiPart)/(CLargeInt(udtMemStatEx.ulTotalPhys.LoPart, udtMemStatEx.ulTotalPhys.HiPart)) * 100) & "% Free)" Me.Print "Available physical memory" + vbTab + NumberInKB(CLargeInt(udtMemStatEx.ulAvailPhys.LoPart, udtMemStatEx.ulAvailPhys.HiPart)) Me.Print "Total virtual memory" + vbTab + NumberInKB(CLargeInt(udtMemStatEx.ulTotalVirtual.LoPart, udtMemStatEx.ulTotalVirtual.HiPart)) Me.Print "Available virtual memory" + vbTab + NumberInKB(CLargeInt(udtMemStatEx.ulAvailVirtual.LoPart, udtMemStatEx.ulAvailVirtual.HiPart)) Me.Print "Total page file" + vbTab + NumberInKB(CLargeInt(udtMemStatEx.ulTotalPageFile.LoPart, udtMemStatEx.ulTotalPageFile.HiPart)) Me.Print "Available page file" + vbTab + NumberInKB(CLargeInt(udtMemStatEx.ulAvailPageFile.LoPart, udtMemStatEx.ulAvailPageFile.HiPart)) Me.Print "Available extended page file" + vbTab + NumberInKB(CLargeInt(udtMemStatEx.ulAvailExtendedVirtual.LoPart, udtMemStatEx.ulAvailExtendedVirtual.HiPart)) Me.Print "Memory Load" + vbTab + CStr(udtMemStatEx.dwMemoryLoad) + "%" End Sub 'This function converts the LARGE_INTEGER data type to a double Private Function CLargeInt(Lo As Long, Hi As Long) As Double Dim dblLo As Double Dim dblHi As Double If Lo < 0 Then dblLo = 2^32 + Lo Else dblLo = Lo End If If Hi < 0 Then dblHi = 2^32 + Hi Else dblHi = Hi End If CLargeInt = dblLo + dblHi * 2^32 End Function Public Function NumberInKB(ByVal vNumber As Currency) As String Dim strReturn As String Select Case vNumber Case Is < 1024^1 strReturn = CStr(vNumber) & " bytes" Case Is < 1024^2 strReturn = CStr(Round(vNumber/1024, 1)) & " KB" Case Is < 1024^3 strReturn = CStr(Round(vNumber/1024^2, 2)) & " MB" Case Is < 1024^4 strReturn = CStr(Round(vNumber/1024^3, 2)) & " GB" End Select NumberInKB = strReturn End Function
Questions connexes
- 1. Obtenir l'utilisation actuelle du processeur, de la RAM et du lecteur de disque en C#
- 2. Comment puis-je obtenir l'utilisation du processeur et/ou l'utilisation de la RAM d'un * THREAD * en C# (code managé)?
- 3. Liste tous les processus et leur mémoire actuelle et la consommation du processeur?
- 4. Comment obtenir la date actuelle dans Cocoa
- 5. Obtenir l'URL actuelle du navigateur
- 6. Comment obtenir les métriques d'utilisation du processeur dans Windows XP?
- 7. Comment puis-je déterminer l'utilisation actuelle du processeur à partir du shell?
- 8. Visual Studio 6 Compatibilité Pack Processeur
- 9. Comment obtenir l'utilisation du processeur par thread sur Mac OSX
- 10. Meilleure méthode pour obtenir la configuration de la mémoire actuelle dans VBA
- 11. Comment obtenir le nom de la cible actuelle dans MSBuild?
- 12. Obtenir l'adresse actuelle du document (extension firefox)
- 13. Comment obtenir l'utilisation du processeur par thread sur Windows (win32)
- 14. Comment obtenir l'URL actuelle du serveur de l'application appengine?
- 15. Comment obtenir une description de la version actuelle du système d'exploitation dans Windows?
- 16. Optimisation de la mémoire et de la consommation du processeur Tomcat
- 17. Obtenir l'URL actuelle et taillez avec PHP
- 18. Comment obtenir le domaine de la demande actuelle?
- 19. Comment utiliser la boîte de dialogue Ouvrir un fichier dans VB 6?
- 20. obtenir l'heure actuelle en fonction du fuseau horaire dans javascript
- 21. comment connaître la vitesse du ventilateur du processeur?
- 22. Comment obtenir l'URL de la page actuelle en PHP
- 23. Utilisation de la mémoire VS. Utilisation du processeur dans l'iphone
- 24. Cocoa: Obtenir la position actuelle de la souris sur l'écran
- 25. Comment obtenir le fichier en cours, la classe en cours et la méthode actuelle avec Python?
- 26. Méthode multiplate-forme pour l'utilisation du processeur/de la mémoire
- 27. En Python, comment obtenir l'image actuelle?
- 28. générer la charge du processeur en Java
- 29. Comment puis-je obtenir l'URL de connexion actuelle du portail dans DotNetNuke?
- 30. Utilisation du processeur par processus en Python
Ceci ne fonctionne pas sur Windows 7 –