info vitesse CPU en VB

info vitesse CPU en VB - Programmation

Marsh Posté le 10-04-2001 à 13:51:57    

je cherche la fonction qui me permettrait de recuperer la vitesse du CPU et autre info system en visual basic.
 
Merci


---------------
---------------------------------------------
Reply

Marsh Posté le 10-04-2001 à 13:51:57   

Reply

Marsh Posté le 10-04-2001 à 14:46:34    

je suis interese aussi, donc up

Reply

Marsh Posté le 10-04-2001 à 16:40:46    

La fréquence du cpu se trouve dans la base de registre ( en tout cas sous NT)


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 10-04-2001 à 19:28:23    

il faut hélas passe par des dll externes. J'en avais une qui te donnait pas mal d'info sur le hw... j'essayerai de la retrouver si tu la veux

Reply

Marsh Posté le 10-04-2001 à 20:28:43    

meme probleme mais en c++

Reply

Marsh Posté le 10-04-2001 à 23:06:01    

pour le c++, cherches dans les vieux posts, y'en a eu plusieurs répondant à la question en C++


---------------
http://www.spontanet.com le site pour les webmasters
Reply

Marsh Posté le 05-04-2002 à 12:00:20    

Hello ,  
je relance ce post car je suis interresé !
Je souhaite avoir des infos comme la vitesse CPU avec par exemple un script VB ! Et meme avoir d'autre infos sur le pc  (adresse ip , mac ......)
J'ai fais une recherche mais sans trop de reponse.
 
thx !

Reply

Marsh Posté le 05-04-2002 à 12:33:01    

voila sous windows 2000 (je pense ke pour nt et xp ca c'est les meme mais sous 9x ou me je sais pas du tout) des clés de la base des registre qui enregistre la vitesse du CPU bon elle a une légère erreur car elle me donne 1730 alors que mon cpu tourne a 1733MHz c un Athlon XP 2000+ (quantispeed @ 1667MHz)
 
HKEY_USERS\S-1-5-21-789336058-1563985344-13430240
91-1000\Software\Microsoft\Scrunch\CPU Clock Speed
 
HKEY_CURRENT_USER\Software\Microsoft\Scrunch\CPU Clock Speed

 

[jfdsdjhfuetppo]--Message édité par MoRp][eUs--[/jfdsdjhfuetppo]


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Marsh Posté le 05-04-2002 à 13:56:06    

Merci pour ta reponse, mais en faite il me faut un truc plutot polivalent, genre qui fonctionne sur toutes les plates  formes !
Sur nt je connaissais deja ... a si tout lemonde etait sur nt, ca e faciliterait la tache !
 D'autres idees ?

Reply

Marsh Posté le 05-04-2002 à 13:57:37    

sur tlm sur nt  
...
 
si je trouve qqch d'autre je te fait signe


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Marsh Posté le 05-04-2002 à 13:57:37   

Reply

Marsh Posté le 05-04-2002 à 14:05:23    

essai ca peut etre que ca marche mais je suis pas sur du tou je l'ai pas testé juste trouvé sur : http://www.planet-source-code.com
 
 

Citation :


'**************************************
'Windows API/Global Declarations for :Ge
'     t CPU Onformation
'**************************************
 
 
Private Type SYSTEM_INFO
    dwOemID As Long
    dwPageSize As Long
    lpMinimumApplicationAddress As Long
    lpMaximumApplicationAddress As Long
    dwActiveProcessorMask As Long
    dwNumberOfProcessors As Long
    dwProcessorType As Long
    dwAllocationGranularity As Long
    wProcessorLevel As Integer
    wProcessorRevision As Integer
    End Type
 
 
Private Type OSVERSIONINFO
    dwOSVersionInfoSize As Long
    dwMajorVersion As Long
    dwMinorVersion As Long
    dwBuildNumber As Long
    dwPlatformId As Long
    szCSDVersion As String * 128 ' Maintenance string For PSS usage
    End Type
 
 
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
 
 
Private Declare Sub GetSystemInfo Lib "kernel32" (lpSystemInfo As SYSTEM_INFO)
 
 
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
 
 
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
 
 
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 Const HKEY_LOCAL_MACHINE As Long = &H80000002
    Private Const PROCESSOR_INTEL_386 = 386
    Private Const PROCESSOR_INTEL_486 = 486
    Private Const PROCESSOR_INTEL_PENTIUM = 586
    Private Const PROCESSOR_LEVEL_80386 As Long = 3
    Private Const PROCESSOR_LEVEL_80486 As Long = 4
    Private Const PROCESSOR_LEVEL_PENTIUM As Long = 5
    Private Const PROCESSOR_LEVEL_PENTIUMII As Long = 6
    Private Const VER_PLATFORM_WIN32_NT = 2
    Private Const VER_PLATFORM_WIN32_WINDOWS = 1
 
 
Public Type udtCPU
    lClockSpeed As Variant
    lProcType As Integer
    strProcLevel As String
    strProcRevision As String
    lNumberOfProcessors As Long
    End Type
 
 
Public Enum eVersion
    eWindowsNT = 1
    eWindows95_98 = 2
    eUnknown = 3
End Enum
 
--------------------------------------------------
---------------
 
'**************************************
' Name: Get CPU Onformation
' Description:This will get the CPU info
'     . Note that approximate Clock speed can  
'     be determined only for WindowsNT.
' By: Serge
'
' Assumes:Listbox (List1) and a Command  
'     Button (Command1)
'
'This code is copyrighted and has' limited warranties.Please see http://w
'     ww.Planet-Source-Code.com/xq/ASP/txtCode
'     Id.4977/lngWId.1/qx/vb/scripts/ShowCode.
'     htm'for details.'**************************************
 
 
 
Public Function GetCPUInfo(ptCPUInfo As udtCPU)
    Dim tSYS As SYSTEM_INFO
    Dim intProcType As Integer
    Dim strProcLevel As String
    Dim strProcRevision As String
    Call GetSystemInfo(tSYS)
 
 
    Select Case tSYS.dwProcessorType
        Case PROCESSOR_INTEL_386: intProcType = 386
        Case PROCESSOR_INTEL_486: intProcType = 486
        Case PROCESSOR_INTEL_PENTIUM: intProcType = 586
    End Select
 
 
Select Case tSYS.wProcessorLevel
    Case PROCESSOR_LEVEL_80386: strProcLevel = "Intel 80386"
    Case PROCESSOR_LEVEL_80486: strProcLevel = "Intel 80486"
    Case PROCESSOR_LEVEL_PENTIUM: strProcLevel = "Intel Pentium"
    Case PROCESSOR_LEVEL_PENTIUMII: strProcLevel = "Intel Pentium Pro or Pentium II"
End Select
strProcRevision = "Model " & HiByte(tSYS.wProcessorRevision) & ", Stepping " & LoByte(tSYS.wProcessorRevision)
 
 
With ptCPUInfo
.lClockSpeed = GetCPUSpeed
.lNumberOfProcessors = tSYS.dwNumberOfProcessors
.lProcType = intProcType
.strProcLevel = IIf(strProcLevel = "", "None", strProcLevel)
.strProcRevision = IIf(strProcRevision = "", "None", strProcRevision)
End With
End Function
 
 
Private Function GetVersion() As eVersion
    Dim os As OSVERSIONINFO
    os.dwOSVersionInfoSize = Len(os)
 
 
    If GetVersionEx(os) Then
 
 
        If os.dwPlatformId = VER_PLATFORM_WIN32_NT Then
            GetVersion = eWindowsNT
        Else
            GetVersion = eWindows95_98
        End If
    Else
        GetVersion = eUnknown
    End If
End Function
 
 
Public Function HiByte(ByVal wParam As Integer) As Byte
    HiByte = (wParam And &HFF00&) \ (&H100)
End Function
 
 
Public Function LoByte(ByVal wParam As Integer) As Byte
    LoByte = wParam And &HFF&
End Function
 
 
Private Function GetCPUSpeed() As Variant
    Dim hKey As Long
    Dim lClockSpeed As Long
    Dim strKey As String
 
 
    If GetVersion = eWindowsNT Then
        strKey = "HARDWARE\DESCRIPTION\System\CentralProcessor\0"
        Call RegOpenKey(HKEY_LOCAL_MACHINE, strKey, hKey)
        Call RegQueryValueEx(hKey, "~MHz", 0, 0, lClockSpeed, 4)
        Call RegCloseKey(hKey)
        GetCPUSpeed = lClockSpeed
    Else
        GetCPUSpeed = "Could Not be determined"
    End If
End Function
'-----------
 
 
Private Sub Command1_Click()
    Dim tCPU As udtCPU
    Call GetCPUInfo(tCPU)
    List1.AddItem "CPU Type: " & tCPU.lProcType
    List1.AddItem "Number ofCPUs:" & tCPU.lNumberOfProcessors
    List1.AddItem "CPU Level: " & tCPU.strProcLevel
    List1.AddItem "CPU Revision:" & tCPU.strProcRevision
    List1.AddItem "CPU Speed (Approx): " & tCPU.lClockSpeed
End Sub
 
 
 

 

[jfdsdjhfuetppo]--Message édité par MoRp][eUs--[/jfdsdjhfuetppo]


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Marsh Posté le 05-04-2002 à 14:36:15    

mais c'est quoi comme langage , du vb ? car moi je veux le faire en vbs. en tous cas j'arrive pas à le faire fonctionner !

Reply

Marsh Posté le 05-04-2002 à 14:39:05    

ouai c du vb  mais si tu voulais du vbs fallais le dire plutot
 
voila le code
 
Dim p, liste
Dim s
s = ""
 
Set liste = GetObject("winmgmts:" ).InstancesOf("Win32_Processor" )
For Each p In liste
        s = s & vbCrLf & "    CPU Clock Speed : "        & p.MaxClockSpeed    
Next
 
MsgBox s


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Marsh Posté le 05-04-2002 à 15:21:33    

thx , par contre sous 98 ,bah ca marche pas !!
il me met:  
nom du fichier ou classe introuvable lors de l'operation automation : 'getobject'

Reply

Marsh Posté le 05-04-2002 à 15:23:59    

heu c'est trouvé sur le site microsoft sous programmation mais je sais plus si il donnais les os sur les quelle ca marche mais sous 2k aucun pb


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Marsh Posté le 05-04-2002 à 15:34:46    

kler, j'ai meme tester avec XP et c'ets nickel !!!! mais pas sous cette nullité de 98 :cry:

Reply

Marsh Posté le 05-04-2002 à 15:45:57    

pk tlm ne veux pas abandonner les générateur d'écran bleu et passer sur des système ki tourne (2k ou xp)


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Marsh Posté le 05-04-2002 à 16:09:16    

:D
Faut croire !!
:p

Reply

Sujets relatifs:

Leave a Replay

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