Results 1 to 3 of 3

Thread: Retrieving CPU speed and free resources?

  1. #1

    Thread Starter
    Hyperactive Member
    Join Date
    Apr 1999
    Location
    Prague, Czech Republic
    Posts
    350

    Lightbulb

    How could i get the CPU speed not using WinNT?
    Or how could i get the "free resources" percentage from System tab of control panels?

    Thanks

  2. #2
    Guest
    Not sure if this will help, but if you start up VB and click the VB Application Wizard, you will go through a long drawn out process, but you will get to a screen where you can select an "about" form along with others. Select that and continue through the wizzard. When done, go to the "about" form and see how they did the SYSTEM button...here is the code...

    Code:
    Private Sub cmdSysInfo_Click()
            Call StartSysInfo
    End Sub
    
    Public Sub StartSysInfo()
        On Error GoTo SysInfoErr
    
    
            Dim rc As Long
            Dim SysInfoPath As String
            
    
            ' Try To Get System Info Program Path\Name From Registry...
            If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
            ' Try To Get System Info Program Path Only From Registry...
            ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
                    ' Validate Existance Of Known 32 Bit File Version
                    If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then
                            SysInfoPath = SysInfoPath & "\MSINFO32.EXE"
                            
    
                    ' Error - File Can Not Be Found...
                    Else
                            GoTo SysInfoErr
                    End If
            ' Error - Registry Entry Can Not Be Found...
            Else
                    GoTo SysInfoErr
            End If
            
    
            Call Shell(SysInfoPath, vbNormalFocus)
            
    
            Exit Sub
    SysInfoErr:
            MsgBox "System Information Is Unavailable At This Time", vbOKOnly
    End Sub
    
    
    Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean
            Dim i As Long                                           ' Loop Counter
            Dim rc As Long                                          ' Return Code
            Dim hKey As Long                                        ' Handle To An Open Registry Key
            Dim hDepth As Long                                      '
            Dim KeyValType As Long                                  ' Data Type Of A Registry Key
            Dim tmpVal As String                                    ' Tempory Storage For A Registry Key Value
            Dim KeyValSize As Long                                  ' Size Of Registry Key Variable
            '------------------------------------------------------------
            ' Open RegKey Under KeyRoot {HKEY_LOCAL_MACHINE...}
            '------------------------------------------------------------
            rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' Open Registry Key
            
    
            If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' Handle Error...
            
    
            tmpVal = String$(1024, 0)                             ' Allocate Variable Space
            KeyValSize = 1024                                       ' Mark Variable Size
            
    
            '------------------------------------------------------------
            ' Retrieve Registry Key Value...
            '------------------------------------------------------------
            rc = RegQueryValueEx(hKey, SubKeyRef, 0, KeyValType, tmpVal, KeyValSize)    ' Get/Create Key Value
                                                    
    
            If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' Handle Errors
            
    
            tmpVal = VBA.Left(tmpVal, InStr(tmpVal, VBA.Chr(0)) - 1)
            '------------------------------------------------------------
            ' Determine Key Value Type For Conversion...
            '------------------------------------------------------------
            Select Case KeyValType                                  ' Search Data Types...
            Case REG_SZ                                             ' String Registry Key Data Type
                    KeyVal = tmpVal                                     ' Copy String Value
            Case REG_DWORD                                          ' Double Word Registry Key Data Type
                    For i = Len(tmpVal) To 1 Step -1                    ' Convert Each Bit
                            KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1)))   ' Build Value Char. By Char.
                    Next
                    KeyVal = Format$("&h" + KeyVal)                     ' Convert Double Word To String
            End Select
            
    
            GetKeyValue = True                                      ' Return Success
            rc = RegCloseKey(hKey)                                  ' Close Registry Key
            Exit Function                                           ' Exit
            
    
    GetKeyError:    ' Cleanup After An Error Has Occured...
            KeyVal = ""                                             ' Set Return Val To Empty String
            GetKeyValue = False                                     ' Return Failure
            rc = RegCloseKey(hKey)                                  ' Close Registry Key
    End Function

  3. #3
    Fanatic Member gwdash's Avatar
    Join Date
    Aug 2000
    Location
    Minnesota
    Posts
    666
    at http://www.vbapi.com there is an example for get free resources. I seam to rember seeing another question like this some where and i answered it with code, you might want to look for it. The code was from http://www.vbapi.com
    GWDASH
    [b]VB6, Perl, ASP, HTML, JavaScript, VBScript, SQL, C, C++, Linux , Java, PHP, MySQL, XML[b]

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width