We got a new asus laptop to do the oet nhs exam which is on w11 but because of the security involved with the exam im not allowed to touch it to take a copy of logos etc. Although on that laptop the wallpaper is set as the standard w11 swirl thing and theme colors in nhs colors. Will add the asus images in tomorrow after i been hospital in the morning.
Had full medical last Monday, so they wanted chest X-Rays, just glad it wasn't more MRI's I bet that will be next *sigh*
Added Asus logo's and Wallpaper in the ASUS brand folder within OEM's.7z This new wallpaper is 'Wallpaper2.jpg' in the folder.
Tried to get winsat scores but no go in autoit, tried wmic through run command, wmi nope just got assesment not run. Yet ran assessment. Could see ok via command prompt and powershell yet even running the wmic or powershell commands via autoit no results or all zero. Even tried the vbs manually ok, via run in autoit no results again. Spent 5+ hours trying many ways. Seems win32_winsat not work under autoit. No errors just zero values??? So no winsat scores in gui qt for now.
Will post my autoit test script tomorrow as turned off pc for tonight Someone may see where i gone wrong.
Here is my attempt to read WinSAT data... The Vbscript version works when run in windows... The WMIC line does too but when 'run' or called via autoit it fails to give results?? Yet the WMIC line for anything else works ok same with the WMI calls, as long as it not Win32_WinSAT then you get results... Spoiler: AutoIT - WinSAT Code: #include <AutoItConstants.au3> #include <StringConstants.au3> #include <MsgBoxConstants.au3> Opt("TrayMenuMode", 1) Opt("TrayIconHide", 1) Opt("GUICloseOnESC", 0) Opt("MustDeclareVars", 1) Opt("SetExitCode", 1) ; Even powershell run through Autoit fails to give results! ; Get-WmiObject -Class Win32_WinSAT or Get-CimInstance Win32_WinSat ; Below is the vbscript which works as base test. Save as weiscores.vbs in same folder as this au3 script. ; However if you use AutoIt's Run("wscript /nologo " & @scriptdir & "\weiscores.vbs", '', @SW_SHOW) results are zero? ; Just shows cpu score to save having to click through several OK windows. #cs Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * From Win32_WinSAT") For Each objItem in colItems WScript.Echo "CPUScore:" & objItem.CPUScore ' WScript.Echo "D3DScore:" & objItem.D3DScore ' WScript.Echo "DiskScore:" & objItem.DiskScore ' WScript.Echo "GraphicsScore:" & objItem.GraphicsScore ' WScript.Echo "MemoryScore:" & objItem.MemoryScore ' WScript.Echo "TimeTaken:" & objItem.TimeTaken ' WScript.Echo "WinSATAssessmentState:" & objItem.WinSATAssessmentState ' WScript.Echo "WinSPRLevel:" & objItem.WinSPRLevel ' WScript.Echo "" Next #ce local $wbemFlagReturnImmediately = 0x10 local $wbemFlagForwardOnly = 0x20 Local $objWMIService, $colSettings, $colItems Local $sString = "", $strComputer = "." Local $oWMI = ObjGet("winmgmts:\\.\root\cimv2") Local $oItems = $oWMI.ExecQuery("SELECT * FROM Win32_WinSAT", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) For $sItem In $oItems For $sProperty In $sItem.Properties_ $sString &= $sProperty.Name & ": " & $sProperty.Value & @CRLF Next Next MsgBox($MB_SYSTEMMODAL, "Win32_WinSAT Names/Values", $sString) Local $RunWinSat = "No",$CPUScore,$MemoryScore,$D3DScore,$GraphicsScore,$DiskScore,$WinSPRLevel,$WinSATAssessmentState,$TimeTaken,$WinSatState Local $ShowWinSatScores = "Assessment requires re-checking." Local $Only10 = "1" $objWMIService = objget("winmgmts:root\cimv2") $colItems = $objWMIService.ExecQuery("Select * from Win32_WinSAT"); , "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem in $colItems $CPUScore = $objItem.CPUScore $MemoryScore = $objItem.MemoryScore $D3DScore = $objItem.D3DScore $GraphicsScore = $objItem.GraphicsScore $DiskScore = $objItem.DiskScore $WinSPRLevel = $objItem.WinSPRLevel $WinSATAssessmentState = $objItem.WinSATAssessmentState $TimeTaken = $objItem.TimeTaken Next EndIf ; this gives result of zero ? yet run the WMIC path Win32_WinSAT get CPUScore /value in command prompt ; and you get a result! Make sure you have ran 'WinSat /formal' before or you will get error. Local $sWMICquery = "WMIC path Win32_WinSAT get CPUScore /value" Local $hPid = Run(@ComSpec & " /c " & $sWMICquery, '', @SW_HIDE, $STDERR_MERGED) local $WmicOutput Do Sleep(100) $WmicOutput &= StdoutRead($hPid) Until @error $WmicOutput = StringStripWS($WmicOutput, $STR_STRIPALL) IF $WinSATAssessmentState = "1" Then $RunWinSat="Yes" IF $WinSATAssessmentState <> "1" Then $RunWinSat="No" IF $WinSATAssessmentState = "0" Then $WinSatState = "Unknown State." IF $WinSATAssessmentState = "1" Then $WinSatState = "The 'Experience Index' scores was valid at time of query." IF $WinSATAssessmentState = "2" Then $WinSatState = "Inconsitant due to hardware/driver changes." IF $WinSATAssessmentState = "3" Then $WinSatState = "No assessment available." IF $WinSATAssessmentState = "4" Then $WinSatState = "Invalid 'Experience Index' scores data." ;IF $RunWinSat = "Yes" And $WinSATAssessmentState = "1" Then $ShowWinSatScores = "CPU: "& $CPUScore & " | RAM: " & $MemoryScore & " | D3D Gaming: " & $D3DScore & " | Graphics: " & $GraphicsScore & " | Primary Disk: " & $DiskScore & " | Base Rating: " & $WinSPRLevel IF $Only10 = "1" Then $ShowWinSatScores = "CPU: "& $CPUScore & " | RAM: " & $MemoryScore & " | Graphics: " & $GraphicsScore & " | Primary Disk: " & $DiskScore & " | Base Rating: " & $WinSPRLevel ;EndIf MsgBox(0,"WEI Information","WEI Scores : " & @CRLF & $ShowWinSatScores & @CRLF & @CRLF & "WEI Info : " & @CRLF & $WinSatState & @CRLF & @CRLF & "WMIC : " & $WmicOutput) Exit As you can see i tried various ways yet none work, with AutoIT even calling a external script be it vbscript or powershell if it contains Win32_Winsat stuff you get nothing of use!! Not sure if it bug in AutoIT but i doubt it as any other WMIC/WMI calls etc work as expected.
Finally!! Took a few attempts and 2 days Works on 64bit windows now, just got to test on 32 bit - only got Vista in 32 bit available Technically it should be ok on x86 as the redirection not operative if 64 bit not detected. Works on Vista x86 Code: WinSAT Scores/Status : {If available} Processor : 5.7 Memory : 5.9 Desktop Graphics : 1 D3D Gaming : 1 Primary Hard Drive : 5.6 Base Score Rating : 1 The 'Experience Index' scores was valid at time of query.
Puzzled me that the redirection only affects that Win32_WinSAT (Wmic) method but using the redirection it allows me to grab the information which was not possible before... Yet redirection isn't required for other WMIC or WMI etc used - as far as i can tell, never needed it before - it not harm anything as far as i can tell and if it did i can switch the redirection on/off just for that section of code so it is not a issue as such. I thought it only affected the registry data but obviously it has other knock on effects too. Odd as in the old QT that was never a problem and that was compiled code too -- probably as i checked for the SysNative side and adjusted the PATH variable that made it work via batch scripting?
Weird as i just tried with that Opt("SetExitCode", 1) removed and still zero results apart from 3 for the winsatstate = No assessment.. I tried compiling as 32 and 64 bit (i always compile as 32 bit so it compatible more), same zero results I even installed autoit etc on another couple of computers a laptop and a test PC - all failed same way. Using the redirect worked. Thanks for testing, it is interesting that like Windows things operate differently with different hardware and locale..
Don't try to understand it. Even the (current) Microsoft staff doesn't understand a lot of things in Windows (the old code).
Uploaded latest GUI_QT_v0.10.6.27 to post #3 Basically to see how that WinSAT bit works on different hardware/locale. As i probably mentioned before the updates done up to this stage of progress: Added OS Info3 tab to expand the OS section. More KMS/VL in use etc added to that tab. WinSAT Scores - I know it not used as such now for real references. This may or may not work on different hardware or Locales (Unsure why). Updated the Tools section - not that you may notice the pixel moved icons Save/Exit have requesters so you not save by mistake etc. Shows current save log location in the info box at bottom of tab so if you want to change that click the 'Change Logs Save location' button and select a folder to save them to, note this location will be where ALL saved logs from the QT will be placed not just the Postable/Private main ones. Hopefully the WinSat scores work, it does even on Vista - in my tests. Servers may not have WinSat - so that section will just have N/A probably.