Jump to content

Computer Stats


Rogue5099
 Share

Recommended Posts

I have been working on this for awhile and thought that I would share everything I have came up with.  With all the help that I have gotten from the forums and scripts I hope I included everyone's work that I have included.

 

All credits to this script are included in the script in the About/Credits menu option!! (Several of you and Thank You!!)

 

This displays many computer status and couple more tools.

 

447l.jpg

 

5tb6.jpg

 

kzx7.jpg

 

n0a8.jpg

 

Change Log:

-------2.0.2.1----------------
-Added Used/Total space on drive tab
-Added Used Free space on Drive info GUI
-Added buttons for drive on drive tab
-Added Hard Drive information to Export file
-Linked buttons on drive tab to Drive Info
-Cleaned up Drive Info GUI
-Removed Drive info from menu
-Removed LoadInfo Func (now does it all loading GUI)
-Removed some unused variables from global
-Removed progress bar from 0 byte drives i.e. CDROM from Tab and DriveGUI

-------2.0.2.0----------------
-Added Multi-Core support which shows each core usage *Thanks Ascend4nt
-New tab for CPU and separate for RAM to allow up to 8 cores on CPU tab
-When doing netspeed test now splash screen is updated instead of deleted and recreated
(still looking for a better way to do net speed test!!!)

-------2.0.1.9----------------
-Added Credits Image from Binary to TempDir (now no need for an extra FileInstall)
-Added Product Key Option in Menu Option "System"
-Added Chrome to Temp Cleaner and how long it took to clean Temp files in seconds.

-------2.0.1.8----------------
-FIxed $Language or $OSVerison variables from not being declared. 
-Removed Splash Image
-Removed DriveInfo from checking every second (Increases performance)
 

 

Previous Downloads: 159

 

Computer Stats Utility.au3

Computer Stats Utility 2.0.2.0.au3

Computer Stats Utility 2.0.2.1.au3

Edited by Rogue5099
Link to comment
Share on other sites

Nice idea.  One thing, it is very slow on my Windows 7 x64.  Every button click has a delay of seconds.  I didn't time, around five to ten it seems.

Link to comment
Share on other sites

If I comment out these lines then the script speeds up considerably.  I know these are important to the program but ths is the source of the slow down on my 2.96 ghz dual core.

If TimerDiff($RefreshTimerA) >= 1000 Then
        $RefreshTimerA = TimerInit()
        DateTime()
        $RAMUsage = MemGetStats()
        $RAMCollected = $RAMCollected + 1
        $RAMTotal = Round($RAMUsage[0] + $RAMTotal)
        $AvgRAM = Round($RAMTotal / $RAMCollected)
        GUICtrlSetData($AvgRAMBar, $AvgRAM)
        GUICtrlSetData($RAM, Round($RAMUsage[0], 0))
        GUICtrlSetData($RAMLabel, Round($RAMUsage[0], 0) & "%")
        If ProcessExists("typeperf.exe") Then
            $CPUUsage = Round(StringTrimRight(StringTrimLeft(FileReadLine(@TempDir & "\cpu.csv", -1), 27), 1), 0)
            $Collected = $Collected + 1
            $CPUTotal = Round($CPUUsage + $CPUTotal)
            $AvgCPU = Round($CPUTotal / $Collected)
            GUICtrlSetData($CPU, $CPUUsage)
            GUICtrlSetData($AvgCPUBar, $AvgCPU)
            GUICtrlSetData($CPULabel, $CPUUsage & "%")
        EndIf
        GUICtrlSetData($TimeLabel, $Date & "  " & $Time)
        DriveInfo()
    EndIf
Link to comment
Share on other sites

Decided to do a little more digging.  It seems to be this function: DriveInfo().

Digging into that more it seems like it isn't your fault?  You do call it repeatedly though.  Is once enough?  It might be a bug in the drive functions?  I think there were somes issues with those recently.

Edited by jaberwocky6669
Link to comment
Share on other sites

Decided to do a little more digging.  It seems to be this function: DriveInfo().

Digging into that more it seems like it isn't your fault?  You do call it repeatedly though.  Is once enough?  It might be a bug in the drive functions?  I think there were somes issues with those recently.

 

Once would be enough for Drive info I just wanted it real time incase deleting file it would show space remaining, but for a tool like this just calling it once would still give you an idea of what it is.  Also could just put a option to refresh drive info instead of refreshing it automatically every second.

The other part of that refreshing is important giving RAM and CPU usage.

---------------------------

AutoIt Error

---------------------------

Line 12776 (File "D:Downloads2013.09CompStatsComputer Stats Utility.exe"):

Error: Variable used without being declared.

---------------------------

ОК

---------------------------

Windows XP

 

Could you run the .au3 and give me the line that you get that error? You will need the extra UDF's to run .au3.  There is only 2594 lines in non-compiled.

Edited by Rogue5099
Link to comment
Share on other sites

If anyone knows a better way to get the NetSpeed (Download/Upload) other than the code below please enlighten me!

Case $TestNetSpeed
            $oIE = _IECreate("http://www.scanmyspeed.com/", 0, 0, 1)
            $oBegin = _IEGetObjById($oIE, "scanstart")
            _IEAction($oBegin, "click")
            $CountDown = 30
            Do
                SplashTextOn("Splash", "Testing Please wait..." & @CRLF & $CountDown, 400, 115, -1, -1, 35, -1, 14, 600)
                $CountDown -= 1
                $oDown = _IEGetObjById($oIE, "scandmbit")
                $sDown = _IEPropertyGet($oDown, "innerText")
                $oUp = _IEGetObjById($oIE, "scanumbit")
                $sUp = _IEPropertyGet($oUp, "innerText")
                GUICtrlSetData($NetTest, "DL: " & $sDown & " Mbps  UL: " & $sUp & " Mbps")
                Sleep(1000)
                SplashOff()
            Until $CountDown = 0
            $oDown = _IEGetObjById($oIE, "scandmbit")
            $sDown = _IEPropertyGet($oDown, "innerText")
            $oUp = _IEGetObjById($oIE, "scanumbit")
            $sUp = _IEPropertyGet($oUp, "innerText")
            GUICtrlSetData($NetTest, "DL: " & $sDown & " Mbps  UL: " & $sUp & " Mbps")
            _IEQuit($oIE)
Link to comment
Share on other sites

---------------------------

AutoIt Error

---------------------------

Line 12776 (File "D:Downloads2013.09CompStatsComputer Stats Utility.exe"):

Error: Variable used without being declared.

---------------------------

ОК

---------------------------

Windows XP

 

1. In source Computer Stats Utility.au3 comment these lines, please:

#include <Splash.au3>

...

;FileInstall(".splash.png", @TempDir & "splash.png", 1)

;_SplashCome(@TempDir & "splash.png")

...

;_SplashGoes(@TempDir & "splash.png")

;FileDelete(@TempDir & "splash.png")

 

2. Add after line

If StringTrimLeft(@OSLang, 2) = "0a" Then $Language = "Spanish"

this new line:

If StringTrimLeft(@OSLang, 2) = "19" Then $Language = "Russian"

Edited by ValeryVal

The point of world view

Link to comment
Share on other sites

1. In source Computer Stats Utility.au3 comment these lines, please:

#include <Splash.au3>

...

;FileInstall(".splash.png", @TempDir & "splash.png", 1)

;_SplashCome(@TempDir & "splash.png")

...

;_SplashGoes(@TempDir & "splash.png")

;FileDelete(@TempDir & "splash.png")

 

Thanks I added that to first post as the splash was just for effect and served no real purpose but to load an image while all information was gathered.

Link to comment
Share on other sites

Rogue5099
$Language - Must be declared. You don't think that on a planet Earth of only 8 languages?
_Splash - I don't think that for the serious program there has to be a screensaver.

Switch @OSVersion
    Case "WIN_7"
        $OSVersion = "Windows 7"
    Case "WIN_VISTA"
        $OSVersion = "Windows Vista"
    Case "etc"
        $OSVersion = "etc"
    Case Else
        $OSVersion = "etc"
EndSwitch
Switch StringTrimLeft(@OSLang, 2)
    Case "01"
        $Language = "Arabic"
    Case "04"
        $Language = "Chinese"
    Case "etc"
        $OSVersion = "etc"
    Case Else
        $OSVersion = "not known"
EndSwitch
Edited by AZJIO
Link to comment
Share on other sites

AZJIO

Thanks for the pointers, I'll remove Splash.

I Changed all the If...Then Language statements to this for now:

Switch StringTrimLeft(@OSLang, 2)
    Case "01"
        $Language = "Arabic"
    Case "04"
        $Language = "Chinese"
    Case "13"
        $Language = "Dutch"
    Case "09"
        $Language = "English"
    Case "0c"
        $Language = "French"
    Case "07"
        $Language = "German"
    Case "10"
        $Language = "Italian"
    Case "0a"
        $Language = "Spanish"
    Case "19"
        $Language = "Russian"
    Case Else
        $Language = "Other"
EndSwitch
Link to comment
Share on other sites

attachicon.gifisimsiz0hhn.JPG

error ?

I'm guessing it is from $Language not being declared.  The fix it changing the If..Then statements to Switch and declaring $Langue as "Other" from the posts above or adding in your OSLang

EDITED 1ST POST:

I think I fixed this error plus a couple more changes.  New source in first post and you shouldn't need any extra UDF's now!

Edited by Rogue5099
Link to comment
Share on other sites

Rogue5099
'?do=embed' frameborder='0' data-embedContent>>

 

Local $LCID = 0
; ===  короткое
$sText = __GLI_Get($LCID, 92)
If $sText = "" Then $sText = __GLI_Get($LCID, 89) & "-" & __GLI_Get($LCID, 90)
; === language(country)  in your language
$sText &= '  |  ' & __GLI_Get($LCID, 2)

MsgBox(0, '', $sText)

Func __GLI_Get($iLCID_Dec, $iIndex)
    Local $aTemp = DllCall('kernel32.dll', 'int', 'GetLocaleInfoW', 'ulong', $iLCID_Dec, 'dword', $iIndex, 'wstr', '', 'int', 2048)
    Return $aTemp[3]
EndFunc   ;==>__GLI_Get
Link to comment
Share on other sites

Once again thank you AZJIO,

Updated:

$Language = _GLI()
...
#region - Language -
Func _GLI()
    Local $LCID = 0
    $sText = __GLI_Get($LCID, 92)
    If $sText = "" Then $sText = __GLI_Get($LCID, 89) & "-" & __GLI_Get($LCID, 90)
    $sText &= '  |  ' & __GLI_Get($LCID, 2)
    Return $sText
EndFunc   ;==>_GLI by AZJIO

Func __GLI_Get($iLCID_Dec, $iIndex)
    Local $aTemp = DllCall('kernel32.dll', 'int', 'GetLocaleInfoW', 'ulong', $iLCID_Dec, 'dword', $iIndex, 'wstr', '', 'int', 2048)
    Return $aTemp[3]
EndFunc   ;==>__GLI_Get by EXIT
#endregion - Language -
Link to comment
Share on other sites

>Running:(3.3.9.21):C:\Documents and Settings\Admin\Desktop\önemli\autoit-v3.3.9.21\install\autoit3.exe "C:\Documents and Settings\Admin\Desktop\CompStats\Computer Stats Utility.au3"    
--> Press Ctrl+Alt+F5 to Restart or Ctrl+Break to Stop
!>21:54:46 AutoIt3.exe ended.rc:-1073741819
>Exit code: -1073741819    Time: 10.011

error stoped

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...