Snippets ( Hardware Information ): Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
mNo edit summary  | 
				m (Cnnverted to Template:Snippet Header, added Snippet Credit Header, added "Return To Contents" after each snippet)  | 
				||
| Line 1: | Line 1: | ||
{{Snippet Credit Header}}  | |||
{{Snippet Header|_ComputerNameAndModel|35302-guinness|guinness||}}  | |||
<syntaxhighlight lang="autoit">  | <syntaxhighlight lang="autoit">  | ||
| Line 23: | Line 24: | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
[[#top|Return To Contents]]  | |||
{{Snippet Header|_GetComputerModel|35302-guinness|guinness||}}  | |||
<syntaxhighlight lang="autoit">  | <syntaxhighlight lang="autoit">  | ||
| Line 42: | Line 45: | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
[[#top|Return To Contents]]  | |||
{{Snippet Header|_GetDriveBusType|35302-guinness|guinness||}}  | |||
<syntaxhighlight lang="autoit">  | <syntaxhighlight lang="autoit">  | ||
#include <APIConstants.au3>  | #include <APIConstants.au3>  | ||
| Line 75: | Line 81: | ||
EndFunc   ;==>_GetDriveBusType  | EndFunc   ;==>_GetDriveBusType  | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
[[#top|Return To Contents]]  | [[#top|Return To Contents]]  | ||
{{Snippet Header|_GetUnusedDrives|35302-guinness|guinness||}}  | |||
<syntaxhighlight lang="autoit">  | <syntaxhighlight lang="autoit">  | ||
| Line 105: | Line 112: | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
[[#top|Return To Contents]]  | |||
{{Snippet Header|_IsSubst|35302-guinness|guinness||}}  | |||
<syntaxhighlight lang="autoit">  | <syntaxhighlight lang="autoit">  | ||
| Line 118: | Line 127: | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
[[#top|Return To Contents]]  | |||
{{Snippet Header|_IsTrueCrypt|35302-guinness|guinness||}}  | |||
<syntaxhighlight lang="autoit">  | <syntaxhighlight lang="autoit">  | ||
| Line 131: | Line 142: | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
[[#top|Return To Contents]]  | |||
{{Snippet Header|_MonitorToggle|7688-greenmachine|greenmachine||}}  | |||
<syntaxhighlight lang="autoit">  | <syntaxhighlight lang="autoit">  | ||
| Line 151: | Line 164: | ||
EndFunc   ;==>_MonitorToggle  | EndFunc   ;==>_MonitorToggle  | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
[[#top|Return To Contents]]  | |||
{{Snippet Header|_GetTotalScreenResolution|28010-larrydalooza|LarryDalooza|16404-brettf|BrettF}}  | {{Snippet Header|_GetTotalScreenResolution|28010-larrydalooza|LarryDalooza|16404-brettf|BrettF}}  | ||
<syntaxhighlight lang="autoit"> Global Const $aTSR = _GetTotalScreenResolution()  | <syntaxhighlight lang="autoit">    | ||
 Global Const $aTSR = _GetTotalScreenResolution()  | |||
  MsgBox(0, "Total Screen Resolution", "Width = " & $aTSR[0] & @TAB & "Height = " & $aTSR[1])  |   MsgBox(0, "Total Screen Resolution", "Width = " & $aTSR[0] & @TAB & "Height = " & $aTSR[1])  | ||
  Func _GetTotalScreenResolution()  |   Func _GetTotalScreenResolution()  | ||
      Local Const $SM_VIRTUALWIDTH = 78  |       Local Const $SM_VIRTUALWIDTH = 78  | ||
| Line 169: | Line 184: | ||
      Return $aRet  |       Return $aRet  | ||
  EndFunc </syntaxhighlight>  |   EndFunc    | ||
</syntaxhighlight>  | |||
[[#top|Return To Contents]]  | |||
Revision as of 18:21, 11 November 2012
{{{AuthorName}}}
; 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
{{{AuthorName}}}
; 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), $sDescription
    If IsObj($oColItems) Then
        For $oObjectItem In $oColItems
            $sDescription &= $oObjectItem.Model
        Next
        Return $sDescription
    EndIf
    Return SetError(1, 1, 0)
EndFunc   ;==>_GetComputerModel
{{{AuthorName}}}
#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
{{{AuthorName}}}
#include <Array.au3>
;~ Retrieve unused drive letters.
Local $aDrives = _GetUnusedDrives()
_ArrayDisplay($aDrives)
Func _GetUnusedDrives()
	Local $aReturn[1] = [0], $sReturn = ''
	For $i = 1 To 26
		$sReturn &= Chr($i + 64) & ':|'
	Next
	Local $aArray = DriveGetDrive('ALL')
	If @error Then
		$aArray = $aReturn
	EndIf
	For $i = 1 To $aArray[0]
		$sReturn = StringReplace($sReturn, StringLeft($aArray[$i], 1) & ':|', '')
	Next
	Return StringSplit(StringTrimRight($sReturn, 1), '|')
EndFunc   ;==>_GetUnusedDrives
{{{AuthorName}}}
#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
{{{AuthorName}}}
#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, 1) & ':'), 'TrueCrypt', 2) > 0
EndFunc   ;==>_IsTrueCrypt
{{{AuthorName}}}
#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
{{{AuthorName}}}
 
 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