Snippets ( Hardware Information )
Jump to navigation Jump to search
_ComputerNameAndModel
Author: guinness
; Can return nothing relevant if machine is not a factory build Global $aArray = _ComputerNameAndModel() ; Returns an Array with 2 indexes. MsgBox(64, "_ComputerNameAndModel()", 'The Product is a "' & $aArray[0] & '" and the Serial Number is "' & $aArray[1] & '".') Func _ComputerNameAndModel() Local $aReturn[2] = ["(Unknown)", "(Unknown)"], $oColItems, $oWMIService $oWMIService = ObjGet("winmgmts:\\.\root\cimv2") $oColItems = $oWMIService.ExecQuery("Select * From Win32_ComputerSystemProduct", "WQL", 0x30) If IsObj($oColItems) Then For $oObjectItem In $oColItems $aReturn[0] = $oObjectItem.Name $aReturn[1] = $oObjectItem.IdentifyingNumber Next Return $aReturn EndIf Return SetError(1, 0, $aReturn) EndFunc ;==>_ComputerNameAndModel
_GetComputerModel
Author: guinness
; Can return nothing relevant if machine is not a factory build ConsoleWrite(_GetComputerModel() & @CRLF) Func _GetComputerModel() Local $oWMIService = ObjGet("winmgmts:\\.\") Local $oColItems = $oWMIService.ExecQuery("Select * From Win32_ComputerSystem", "WQL", 0x30) Local $sDescription If IsObj($oColItems) Then For $oObjectItem In $oColItems $sDescription &= $oObjectItem.Model Next Return $sDescription EndIf Return SetError(1, 1, 0) EndFunc ;==>_GetComputerModel
_GetComputerModel_2
Author: rindeal
Faster version of the snippet above
; Can return nothing relevant if machine is not a factory build ConsoleWrite(_GetComputerModel() & @CRLF) Func _GetComputerModel() Return RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS", "SystemProductName") EndFunc ;==>_GetComputerModel
_GetDriveBusType
Author: guinness
#include <APIConstants.au3> #include <WinAPIEx.au3> Local $aDrive = DriveGetDrive('ALL') For $i = 1 To $aDrive[0] ConsoleWrite(StringUpper($aDrive[$i]) & ' => ' & _GetDriveBusType($aDrive[$i]) & @CRLF) Next ; Get a string representation of a drive's bus type. Func _GetDriveBusType($sDrive) Local $aArray[14][2] = [[$DRIVE_BUS_TYPE_UNKNOWN, 'UNKNOWN'], _ [$DRIVE_BUS_TYPE_SCSI, 'SCSI'], _ [$DRIVE_BUS_TYPE_ATAPI, 'ATAPI'], _ [$DRIVE_BUS_TYPE_ATA, 'ATA'], _ [$DRIVE_BUS_TYPE_1394, '1394'], _ [$DRIVE_BUS_TYPE_SSA, 'SSA'], _ [$DRIVE_BUS_TYPE_FIBRE, 'FIBRE'], _ [$DRIVE_BUS_TYPE_USB, 'USB'], _ [$DRIVE_BUS_TYPE_RAID, 'RAID'], _ [$DRIVE_BUS_TYPE_ISCSI, 'ISCSI'], _ [$DRIVE_BUS_TYPE_SAS, 'SAS'], _ [$DRIVE_BUS_TYPE_SATA, 'SATA'], _ [$DRIVE_BUS_TYPE_SD, 'SD'], _ [$DRIVE_BUS_TYPE_MMC, 'MMC']] Local $iDriveType = _WinAPI_GetDriveBusType($sDrive) If @error Then Return $aArray[0][1] EndIf Return $aArray[$iDriveType][1] EndFunc ;==>_GetDriveBusType
_GetUnusedDrives
Author: guinness
#include <Array.au3> ;~ Retrieve unused drive letters. Local $aDrives = _GetUnusedDrives() _ArrayDisplay($aDrives) Func _GetUnusedDrives() Local $sReturn = 'B:|C:|D:|E:|F:|G:|H:|I:|J:|K:|L:|M:|N:|O:|P:|Q:|R:|S:|T:|U:|V:|W:|X:|Y:|Z:|' Local $aArray = DriveGetDrive('ALL') If @error Then Local $aError = [0] $aArray = $aError $aError = 0 EndIf For $i = 1 To $aArray[0] $sReturn = StringReplace($sReturn, $aArray[$i] & '|', '') Next Return StringSplit(StringTrimRight($sReturn, StringLen('|')), '|') EndFunc ;==>_GetUnusedDrives
_IsSubst
Author: guinness
Checks if a drive is a subst drive.
#include <WinAPIEx.au3> ConsoleWrite(_IsSubst(@HomeDrive) & @CRLF) ; Checks if a drive is a subst drive. Func _IsSubst($sDrive) Return _WinAPI_PathIsDirectory(StringReplace(_WinAPI_QueryDosDevice(StringLeft($sDrive, 1) & ":"), "\??\", "")) EndFunc ;==>_IsSubst
_IsTrueCrypt
Author: guinness
Check if a drive is a TrueCrypt drive.
#include <WinAPIEx.au3> ConsoleWrite("Is " & @HomeDrive & "\ a TrueCrypt drive?: " & _IsTrueCrypt(@HomePath) & @CRLF) ; Check if a drive is a TrueCrypt drive. Func _IsTrueCrypt($sDrive) Return StringInStr(_WinAPI_QueryDosDevice(StringLeft($sDrive, StringLen('A')) & ':'), 'TrueCrypt') > 0 EndFunc ;==>_IsTrueCrypt
_MonitorToggle
Author: greenmachine
Toggle Monitor On/Off.
#include <SendMessage.au3> #include <WindowsConstants.au3> _MonitorToggle(1) Sleep(1000) _MonitorToggle(0) ; Toggle Monitor On/Off. Func _MonitorToggle($iTurnOff = 1) Local $hWnd = WinGetHandle("[CLASS:Progman]"), $SC_MONITORPOWER = 61808 If $iTurnOff Then Return _SendMessage($hWnd, $WM_SYSCOMMAND, $SC_MONITORPOWER, 2) Else Return _SendMessage($hWnd, $WM_SYSCOMMAND, $SC_MONITORPOWER, -1) EndIf EndFunc ;==>_MonitorToggle
_GetTotalScreenResolution
Author: LarryDalooza
Modified: BrettF
Global Const $aTSR = _GetTotalScreenResolution() MsgBox(0, "Total Screen Resolution", "Width = " & $aTSR[0] & @TAB & "Height = " & $aTSR[1]) Func _GetTotalScreenResolution() Local Const $SM_VIRTUALWIDTH = 78 Local Const $VirtualDesktopWidth = DllCall("user32.dll", "int", "GetSystemMetrics", "int", $SM_VIRTUALWIDTH) Local Const $SM_VIRTUALHEIGHT = 79 Local Const $VirtualDesktopHeight = DllCall("user32.dll", "int", "GetSystemMetrics", "int", $SM_VIRTUALHEIGHT) Local Const $aRet[2] = [$VirtualDesktopWidth[0], $VirtualDesktopHeight[0]] Return $aRet EndFunc