':::::::::::::::::::::::::::::::::::::
'::                                 ::
'::   Configurações para o script   ::
'::                                 ::
':::::::::::::::::::::::::::::::::::::
'Option Explicit
LcId = 1046
Const wbemFlagReturnImmediately = 16
Const wbemFlagForwardOnly = 32
Const wbemCimtypeUint32 = 19
Const wbemCimtypeSint64 = 20
Const wbemCimtypeUint64 = 21
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Set objWshNet = CreateObject("Wscript.Network")

':::::::::::::::::::::::::::::::::::::
'::                                 ::
'::    Configuração de Variáveis    ::
'::                                 ::
':::::::::::::::::::::::::::::::::::::
Dim strPC, strOpc, strHTML, objIE, Wrt_HTML, Var_Header_Title, Var_Header_Table_1, strRel, RelConf
Dim Var_Digit_Box, MountHtml, strKey, strSubKey, objReg, arrSubKeys, strDisplayName, strDisplayVersion
Dim sComputer, oArgs, sOpt, sVisible, isValidParameters, Flag, strProperties, strDx, Var_Soft_Name, Var_Soft_Version
Dim Var_Soft_Build, Var_Msg_1, Var_Msg_2, VarMsg_Err1, VarMsg_Err2, VarMsg_Err3, LcId, strInstallLocation

Var_StrPC_Name = LCase(objWshNet.ComputerName)
Var_Soft_Name = ("PCeX Inventory System")
Var_Soft_Version = (" v.1.5.05")
Var_Soft_Build = (" r.2109")
Var_Msg_1 = ("Computador/IP" & vbCrLf &_
		"------------------------" & vbCrLf & vbCrLf &_
		"Digite o NOME ou IP do Computador desejado:" & vbCrLf &_
		"Para sair do aplicativo, digite 0 (zero) e confirme.")
Var_Msg_2 = ("Geração ou Visualização do relatório" & vbCrLf &_
		"---------------------------------------------------------" & vbCrLf & vbCrLf &_
		"Digite uma das opções abaixo:" & vbCrLf & vbCrLf &_
		" 0 - Sair do aplicativo." & vbCrLf &_
		" 1 - Somente visualizar." & vbCrLf &_
		" 2 - Visualizar e gerar arquivo HTML." & vbCrLf &_
		" 3 - Somente gerar arquivo em HTML." & vbCrLf)
Var_Msg_3 = ("Opções de informação no relatório" & vbCrLf &_
		"------------------------------------------------------" & vbCrLf & vbCrLf &_
		"Digite uma das opções abaixo:" & vbCrLf & vbCrLf &_
		" 0 - Sair do aplicativo." & vbCrLf &_
		" 1 - Relatório completo do sistema." & vbCrLf &_
		" 2 - Relatório de Sumário e Segurança." & vbCrLf &_
		" 3 - Relatório de Sumário, Segurança e Usuários." & vbCrLf &_
		" 4 - Relatório de Sumário, Segurança e Hardware." & vbCrLf &_
		" 5 - Relatório de Sumário, Segurança e Software." & vbCrLf)
Var_Msg_4 = ("Estilo DirectX no relatório?" & vbCrLf &_
		"-----------------------------------------" & vbCrLf & vbCrLf &_
		"Digite uma das opções abaixo:" & vbCrLf & vbCrLf &_
		" 0 - Sair do aplicativo." & vbCrLf &_
		" 1 - Sim." & vbCrLf &_
		" 2 - Não." & vbCrLf)
VarMsg_Err1 = ("Você não digitou as informações solicitadas, a aplicação será finalizada.")
VarMsg_Err2 = ("Atenção! Ocorreu um erro na execução do aplicativo." & vbCrlf &_
		"Favor verificar a descrição abaixo.")
VarMsg_Err3 = ("Não há ítens para serem exibidos.")
VarMsg_Err4 = ("Computador não existe ou não está acessível." & vbCrLf &_
		"Favor digite corretamente o nome do computador!")
VarMsg_Err5 = ("Entrar em contato com o desenvolvedor!" & vbCrLf &_
		"Por favor, repasse as informações abaixo:")
VarMsg_Err6 = ("Somente sistemas operacionais à partir do Windows 2000 com SP3 ou Windows Update Client" & vbCrLf &_
		"instalados, possuem suporte ao Windows Update")
VarMsg_About = (Var_Soft_Name & Var_Soft_Version & Var_Soft_Build & Chr(34) & " & vbCrLf & vbCrLf & " & Chr(34) &_
		"Software de inventário escrito em VBScript unicamente com	    " & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"o intuito de facilitar o trabalho de Administradores de rede." & Chr(34) & " & vbCrLf & vbCrlf & " & Chr(34) &_
		"Desenvolvedores responsáveis" & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"-------------------------------------" & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"Artur Aragão - aragaorj@hotmail.com" & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"Gildo Soares - gildosoares@gmail.com" & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"Vinicius Canto Xavier - scripterbr@gmail.com" & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"Alexandre Teixeira - ateixeira@coimex.com.br" & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"Flávio Bordignon - flavio@triangulodosol.com.br" & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"Rodrigo Andrade Araujo - foxmaster@pop.com.br" & Chr(34) & " & vbCrLf & vbCrLf & " & Chr(34) &_
		"Testadores" & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"-------------" & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"Jamal Ibrahim - jamal.ibrahim@ig.com.br" & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"Leandro Ribeiro da Silva - leandro.silva@aebb.com.br" & Chr(34) & " & vbCrLf & vbCrlf & " & Chr(34) &_
		"www.technetbrasil.com.br" & Chr(34) & " & vbCrLf & " & Chr(34) &_
		"2004 - 2005")

':::::::::::::::::::::::::::::::::::::
'::                                 ::
'::    Sub Start IE e Monta HTML    ::
'::                                 ::
':::::::::::::::::::::::::::::::::::::
Sub StartIE(byVal strRel, byVal strSt, byVal strHTML)
	Select Case strSt
		Case 1: strDX = True
		Case 2: strDX = False
	End Select
	Select Case strRel
		Case 1: RelConf = 43
		Case 2: RelConf = 5
		Case 3: RelConf = 6
		Case 4: RelConf = 33
		Case 5: RelConf = 15
	End Select

	Set objIE = WScript.CreateObject("InternetExplorer.Application", "IE")
	objIE.Navigate ("about:blank")
	objIE.ToolBar = False
	objIE.MenuBar = False
	objIE.AddressBar = False
	objIE.StatusBar = True
	objIE.Resizable = False
	objIE.Width = 700 
	objIE.Height = 500 
	objIE.Left = 0
	objIE.Top = 0
	objIE.Visible = strHTML
	Do While (objIE.Busy) 
		WScript.Sleep 100 
	Loop

	Set Wrt_HTML = objIE.Document 
	Wrt_HTML.Open 
	Wrt_HTML.Write HeaderHtml() & vbCrLf
		MountHtml = MountHtml & "<div id='t_head' onclick='Mostratudo();'>" & Var_Soft_Name & Var_Soft_Version & Var_Soft_Build & "</div>" & vbCrLf
		MountHtml = MountHtml & "<div id='l_head'>Início do inventário: " & AudData() & "</div>" & vbCrLf
		MountHtml = MountHtml & "<div id='t_body'>" & vbCrLf
End Sub

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::    Relatório de inventário      ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Sub DG_PCInfo(byVal strPc, byVal strRel)
On Error Resume Next
	If strRel = 1 Then
		REP_SUM = "ON"
		REP_SEC = "ON"
		REP_HARD = "ON"
		REP_USER = "ON"
		REP_SYS = "ON"
	ElseIf strRel = 2 Then
		REP_SUM = "ON"
		REP_SEC = "ON"
		REP_HARD = "OFF"
		REP_USER = "OFF"
		REP_SYS = "OFF"
	ElseIf strRel = 3 Then
		REP_SUM = "ON"
		REP_SEC = "ON"
		REP_HARD = "OFF"
		REP_USER = "ON"
		REP_SYS = "OFF"
	ElseIf strRel = 4 Then
		REP_SUM = "ON"
		REP_SEC = "ON"
		REP_HARD = "ON"
		REP_USER = "OFF"
		REP_SYS = "OFF"
	ElseIf strRel = 5 Then
		REP_SUM = "ON"
		REP_SEC = "ON"
		REP_HARD = "OFF"
		REP_USER = "OFF"
		REP_SYS = "ON"
	End If
	Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strPC & "\root\cimv2")
	Set objReg = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & strPc & "\root\default:StdRegProv")
	Trat_Err()

If REP_SUM = "ON" Then
':::::::::::::::::::::::::::::::::::::
'::				    ::
'::             Sumário             ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_0_txt' onclick='Mostra(SH_0,SH_0_txt);'><span class='h_tmodule'>Sumário do Sistema</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_0' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf

	strProperties = "*"
	objClass = "Win32_OperatingSystem"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colOS = objWMIService.ExecQuery(strQuery, "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colOS
	Host_Name = objItem.CSName
	SO_Name = objItem.Caption
	SO_Type = objItem.OSType
	SO_Version = objItem.Version
	SO_Suite = objItem.OSProductSuite
	SO_Build = objItem.BuildNumber
	SO_ProdType = objItem.ProductType
	SO_Language = objItem.OSLanguage
	SP_Version = objItem.CSDVersion
	SO_MajorSPVersion = objItem.ServicePackMajorVersion
	SO_CryptLevel = FormatBit(objItem.EncryptionLevel)
	SO_InstDate = FormatDataTime(objItem.InstallDate)
	SO_LastBoot = FormatDataTime(objItem.LastBootUpTime)
	SO_LDT = FormatDataTime(objItem.LocalDateTime)
	SO_RegUser = objItem.RegisteredUser
	SO_RegOrg = objItem.Organization
	SO_Serial = objItem.SerialNumber
	SO_WinDir = objItem.WindowsDirectory
	SO_SysDir = objItem.SystemDirectory
	SO_FreePhysMem = objItem.FreePhysicalMemory
	SO_FreePageFilMem = objItem.FreeSpaceInPagingFiles
	Select Case SO_Type
		Case 16: SO_Name = "Microsoft Windows 95"
		Case 17: SO_Name = "Microsoft Windows 98"
	End Select
	Select Case SO_ProdType
		Case 1: SO_ProdType = "Estação de Trabalho"
		Case 2: SO_ProdType = "Controlador de Domínio"
		Case 3: SO_ProdType = "Servidor"
	End Select
	Select Case SO_Language
		Case 1033: SO_Language = "Inglês - Estados Unidos"
		Case 1046: SO_Language = "Português - Brasil"
		Case Else SO_Language = "Outro idioma"
	End Select
	Select Case SO_Suite
		Case 1: SO_Suite = "Small Business"
		Case 2: SO_Suite = "Enterprise"
		Case 4: SO_Suite = "Backoffice"
		Case 8: SO_Suite = "Communication Server"
		Case 16: SO_Suite = "Terminal Server"
		case 18: SO_Suite = "Enterprise e Terminal Server"
		Case 32: SO_Suite = "Small Business (Restrito)"
		Case 64: SO_Suite = "Embedded NT"
		Case 128: SO_Suite = "Data Center"
		Case 256: SO_Suite = "Single User"
		Case 512: SO_Suite = "Personal"
		Case 1024: SO_Suite = "Blade"
	End Select
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_1_txt' onclick='Mostra(SH_1,SH_1_txt);'><span class='s_line' style='width: 195px;'>COMPUTADOR</span><span class='s_line' style='width: 349px;'>" & CheckNull(UCase(Host_Name)) & "</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_1' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Sistema Operacional</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Versão (Release)</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_Version) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Build</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_Build) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Função do Computador</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_ProdType) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Idioma do Sistema</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_Language) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Service Pack</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SP_Version) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Nível de criptografia</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_CryptLevel) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Suíte</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_Suite) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Data da instalação</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_InstDate) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Data do último boot</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_LastBoot) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Data e Hora Local</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_LDT) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Usuário registrado</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_RegUser) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Organização registrada</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_RegOrg) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Número serial</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_Serial) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Diretório do Windows</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_WinDir) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Diretório do sistema</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_SysDir) & "</span></li>" & vbCrLf
	Next

	strProperties = "TotalPhysicalMemory, UserName, SystemType, Description, DaylightInEffect, NumberOfProcessors, Model"
	objClass = "Win32_ComputerSystem"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colSys = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colSys
	PC_Mem = FormatValue(objItem.TotalPhysicalMemory)
	PC_Logon = objItem.UserName
	PC_Type = objItem.SystemType
	PC_Info = objItem.Description
	PC_HorVerao = objItem.DaylightInEffect
	CPU_Quant = objItem.NumberOfProcessors
	MB_Model = objItem.Model
	iF MB_Model <> "" Then
		MB_Model = MB_Model
	Else
		MB_Model = ""
	End If
	If IsNull(PC_Logon) Then
		PC_Logon = "<span class='red'>Não há usuário logado.</span>"
	End If
	If PC_HorVerao = True Then
		PC_HorVerao = "<span class='red'>Desabilitado</span>"
	Else
		PC_HorVerao = "<span class='green'>Habilitado</span>"
	End If
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Memória do sistema</span><span class='li_itens' style='width: 349px;'>" & CheckNull(PC_Mem) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Usuário logado</span><span class='li_itens' style='width: 349px;'>" & CheckNull(PC_Logon) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Tipo do sistema</span><span class='li_itens' style='width: 349px;'>" & CheckNull(PC_Type) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Descrição</span><span class='li_itens' style='width: 349px;'>" & CheckNull(PC_Info) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Horário de Verão</span><span class='li_itens' style='width: 349px;'>" & CheckNull(PC_HorVerao) & "</span></li>" & vbCrLf
	Next

	Set objWMIServiceIE = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strPC & "\root\cimv2\Applications\MicrosoftIE")
	strProperties = "Version, file"
	objClass = "MicrosoftIE_FileVersion"
	strQuery = "SELECT " & strProperties & " FROM " & objClass & " WHERE file = 'iexplore.exe'"
	Set colIESettings = objWMIServiceIE.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colIESettings
	IE_Version = objItem.Version
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Internet Explorer</span><span class='li_itens' style='width: 349px;'>" & CheckNull(IE_Version) & "</span></li>" & vbCrLf
	Next

	strKey = "SOFTWARE\Microsoft\DirectX"
	objReg.EnumKey HKEY_LOCAL_MACHINE, strKey, arrSubKeys
	For Each strSubKey In arrSubKeys
	objReg.GetStringValue HKEY_LOCAL_MACHINE, strKey & "\" & strSubKey, "Version", strDisplayDxVersion
	DX_Version = strDisplayDxVersion
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>DirectX</span><span class='li_itens' style='width: 349px;'>" & CheckNull(DX_Version) & "</span></li>" & vbCrLf
	Next

	strKey = "SOFTWARE\Microsoft\MediaPlayer\PlayerUpgrade"
	objReg.EnumKey HKEY_LOCAL_MACHINE, strKey, arrSubKeys
	For Each strSubKey In arrSubKeys
	objReg.GetStringValue HKEY_LOCAL_MACHINE, strKey & "\" & strSubKey, "PlayerVersion", strDisplayMPVersion
	MP_Version = Replace(strDisplayMPVersion, ",", ".")
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Media Player</span><span class='li_itens' style='width: 349px;'>" & CheckNull(MP_Version) & "</span></li>" & vbCrLf
	Next

	strProperties = "Description, MACAddress, IPAddress, IPSubnet, DefaultIPGateway, DNSServerSearchOrder, DNSDomain, DNSDomainSuffixSearchOrder, DHCPEnabled, DHCPServer, WINSPrimaryServer, WINSSecondaryServer, ServiceName, IPEnabled"
	objClass = "Win32_NetworkAdapterConfiguration"
	strQuery = "SELECT " & strProperties & " FROM " & objClass & " WHERE IPEnabled = True AND ServiceName <> 'AsyncMac' AND ServiceName <> 'VMnetx' AND ServiceName <> 'VMnetadapter' AND ServiceName <> 'Rasl2tp' AND ServiceName <> 'PptpMiniport' AND ServiceName <> 'Raspti' AND ServiceName <> 'NDISWan' AND ServiceName <> 'NDISWan4' AND ServiceName <> 'RasPppoe' AND ServiceName <> 'NdisIP' AND ServiceName <> '' AND Description <> 'PPP Adapter.'"
	Set colAdapters = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colAdapters
	Lan_Name = objItem.Description
	Lan_Mac_Address = objItem.MACAddress
	IP_Address = objItem.IPAddress
	SubNet_Masc = objItem.IPSubnet
	IP_Gateway = objItem.DefaultIPGateway
	DNS_Server = objItem.DNSServerSearchOrder
	DNS_Domain = objItem.DNSDomain
	DNS_Domain_Sufix = objItem.DNSDomainSuffixSearchOrder
	DHCP_Status = objItem.DHCPEnabled
	DHCP_Server = objItem.DHCPServer
	WINS_Server_1 = objItem.WINSPrimaryServer
	WINS_Server_2 = objItem.WINSSecondaryServer
	Next
	If DHCP_Status = True Then
		DHCP_Status = "<span class='green'>Habilitado</span>"
	Else
		DHCP_Status = "<span class='red'>Desabilitado</span>"
	End If
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Dispositivo de LAN</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Lan_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Endereço Mac</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Lan_Mac_Address) & "</span></li>" & vbCrLf
	If Not IsNull(IP_Address) Then
	For i = 0 To UBound(IP_Address)
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Endereço IP</span><span class='li_itens' style='width: 349px;'>" & CheckNull(IP_Address(i)) & "</span></li>" & vbCrLf
	Next 
	End If
	If Not IsNull(SubNet_Masc) Then
	For i = 0 To UBound(SubNet_Masc)
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Máscara da Subnet</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SubNet_Masc(i)) & "</span></li>" & vbCrLf
	Next 
	End If
	If Not IsNull(IP_Gateway) Then
	For i = 0 To UBound(IP_Gateway)
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Servidor Gateway</span><span class='li_itens' style='width: 349px;'>" & CheckNull(IP_Gateway(i)) & "</span></li>" & vbCrLf
	Next
	End If
	If Not IsNull(DNS_Server) Then
	For i = 0 To UBound(DNS_Server)
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Servidor DNS</span><span class='li_itens' style='width: 349px;'>" & CheckNull(DNS_Server(i)) & "</span></li>" & vbCrLf
	Next
	End If
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Nome do Domínio</span><span class='li_itens' style='width: 349px;'>" & CheckNull(DNS_Domain) & "</span></li>" & vbCrLf

	If Not IsNull(DNS_Domain_Sufix) Then
	For i = 0 To UBound(DNS_Domain_Sufix)
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Sufixo DNS</span><span class='li_itens' style='width: 349px;'>" & CheckNull(DNS_Domain_Sufix(i)) & "</span></li>" & vbCrLf
	Next 
	End If
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Status do DHCP</span><span class='li_itens' style='width: 349px;'>" & DHCP_Status & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Servidor DHCP</span><span class='li_itens' style='width: 349px;'>" & CheckNull(DHCP_Server) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Servidor WINS Primário</span><span class='li_itens' style='width: 349px;'>" & CheckNull(WINS_Server_1) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Servidor WINS Secundário</span><span class='li_itens' style='width: 349px;'>" & CheckNull(WINS_Server_2) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf
End If

If REP_SEC = "ON" Then
':::::::::::::::::::::::::::::::::::::
'::				    ::
'::    Informações de Segurança     ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_2_txt' onclick='Mostra(SH_2,SH_2_txt);'><span class='h_tmodule'>Centro de Segurança</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_2' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_3_txt' onclick='Mostra(SH_3,SH_3_txt);'><span class='s_line' style='width: 544px;'>PROTEÇÃO ANTIVÍRUS (SOFTWARE)</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_3' style='display: none'>" & vbCrLf

	strProperties = "DisplayName, VersionNumber, CompanyName, OnAccessScanningEnabled, ProductUptoDate"
	objClass = "AntiVirusProduct"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set objWMIServiceAV = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strPC & "\root\SecurityCenter")
	Set colSecurity = objWMIServiceAV.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colSecurity
	AV_Name = objItem.DisplayName
	AV_ProdVersion = objItem.VersionNumber
	AV_Fab = objItem.CompanyName
	AV_ScanStatus = objItem.OnAccessScanningEnabled
	AV_ProdUpdate = objItem.ProductUptoDate
	Next
	If (SO_Build = "2600" AND SO_MajorSPVersion >= "2") OR (SO_Build = "3790" AND SO_MajorSPVersion >= "1") Then
		If AV_Name = "" AND AV_ProdVersion = "" AND AV_Fab = "" AND AV_ScanStatus = False AND AV_ProdUpdate = "" Then
			AV_Support = "<span class='red'>Recurso desativado ou não suportado pelo antivírus.</span>"
		Else
			AV_Support = "<span class='green'>Sim</span>"
		End If
	Else
		AV_Support = "<span class='red'>Não suportado pelo sistema operacional.</span>"
	End If
	If AV_Name <> "" Then
		AV_Name = AV_Name
	Else
		AV_Name = "<span class='red'>Não identificável</span>"
	End If
	If AV_ProdVersion <> "" Then
		AV_ProdVersion = AV_ProdVersion
	Else
		AV_ProdVersion = "<span class='red'>Não identificável</span>"
	End If
	If AV_Fab <> "" Then
		AV_Fab = AV_Fab
	Else
		AV_Fab = "<span class='red'>Não identificável</span>"
	End If
	If AV_ScanStatus = True Then
		AV_ScanStatus = "<span class='green'>Ativado</span>"
	Else
		AV_ScanStatus = "<span class='red'>Desativado</span>"
	End If
	If AV_ProdUpdate = True Then
		AV_ProdUpdate = "<span class='green'>OK</span>"
	Else
		AV_ProdUpdate = "<span class='red'>Produto não atualizado.</span>"
	End If
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Suportado pelo sistema operacional</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AV_Support) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Antivírus</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AV_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Versão do Antivírus</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AV_ProdVersion) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Fabricante</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AV_Fab) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Escaneamento em tempo real</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AV_ScanStatus) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Definições de vírus</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AV_ProdUpdate) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf

	strProperties = "DataExecutionPrevention_Available, DataExecutionPrevention_32BitApplications, DataExecutionPrevention_Drivers"
	objClass = "Win32_OperatingSystem"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colSecurity = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colSecurity
	SO_DEPHard = objItem.DataExecutionPrevention_Available
	SO_DEP32bitApp = objItem.DataExecutionPrevention_32BitApplications
	SO_DEPDrivers = objItem.DataExecutionPrevention_Drivers
	If SO_DEPHard = True AND SO_DEP32bitApp = True AND SO_DEPDrivers = True Then
		SO_DEPSupport = "<span class='green'>Sim</span>"
	Else
		SO_DEPSupport = "<span class='red'>Não</span>"
	End If
	If SO_DEPHard = True Then
		SO_DEPHard = "<span class='green'>Sim</span>"
	ElseIf SO_DEPHard = False Then
		SO_DEPHard = "<span class='red'>Não</span>"
	End If
	If SO_DEP32bitApp = True Then
		SO_DEP32bitApp = "<span class='green'>Ativa</span>"
	Else
		SO_DEP32bitApp = "<span class='red'>Desativada</span>"
	End If
	If SO_DEPDrivers = True Then
		SO_DEPDrivers = "<span class='green'>Ativa</span>"
	Else
		SO_DEPDrivers = "<span class='red'>Desativada</a></span>"
	End If
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_4_txt' onclick='Mostra(SH_4,SH_4_txt);'><span class='s_line' style='width: 544px;'>PROTEÇÃO ANTIVÍRUS (HARDWARE - DEP/NX/EDB)</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_4' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Suportado pelo sistema operacional</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_DEPSupport) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Suportado pelo processador</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_DEPHard) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Proteção em aplicativos</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_DEP32bitApp) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Proteção em drivers</span><span class='li_itens' style='width: 349px;'>" & CheckNull(SO_DEPDrivers) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
	Next
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_5_txt' onclick='Mostra(SH_5,SH_5_txt);'><span class='s_line' style='width: 544px;'>UPDATES AUTOMÁTICOS</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_5' style='display: none'>" & vbCrLf

	strProperties = "StartMode, State, Name"
	objClass = "Win32_Service"
	strQuery = "SELECT " & strProperties & " FROM " & objClass & " WHERE Name='wuauserv'"
	Set colRunAUServicers = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colRunAUServicers
	AU_State = GetStatusService(objItem.State)
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Serviço Auto Update</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AU_State) & "</span></li>" & vbCrLf
	Next

	strKey = "SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
	strValueName = "NoAutoUpdate"
	If RegValueExists(strKey, strValueName) Then
 		objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
		AU_NOAU = GetNoAU(dwValue)
	Else
		AU_NOAU = "Não configurado"
	End If

	strKey = "SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
	strValueName = "UseWUServer"
	If RegValueExists(strKey, strValueName) Then
 		objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
		AU_WSUSServer = GetUseWSUSServer(dwValue)
		If dwValue = 1 Then
			strKey = "SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"
			strValueName = "WUServer"
			If RegValueExists(strKey, strValueName) Then
		 		objReg.GetStringValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
				AU_Name_WSUSServer = dwValue
			Else
				AU_Name_WSUSServer = "Não configurado"
			End If

			strKey = "SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"
			strValueName = "WUStatusServer"
			If RegValueExists(strKey, strValueName) Then
		 		objReg.GetStringValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
				AU_WSUSClientStatus = dwValue
			Else
				AU_WSUSClientStatus = "Não configurado"
			End If
		End If
	Else
		AU_WSUSServer = "Não configurado - Download Automático de <u>windowsupdate.microsoft.com</u>"
		AU_Conf = True
	End If

	strKey = "SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
	strValueName = "AUOptions"
	If RegValueExists(strKey, strValueName) Then
 		objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
		AU_Options = GetAUOpt(dwValue)
		If dwValue = "4" Then
			strKey = "SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
			strValueName = "ScheduledInstallDay"
			If RegValueExists(strKey, strValueName) Then
		 		objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
				AU_SchedInstDay = GetAUDay(dwValue)
			Else
				AU_SchedInstDay = "Não configurado"
			End If

			strKey = "SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
			strValueName = "ScheduledInstallTime"
			If RegValueExists(strKey, strValueName) Then
		 		objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
				AU_SchedInstTime = dwValue & ":00h"
			Else
				AU_SchedInstTime = "Não configurado"
			End If
		Else
			AU_Options = AU_Options
		End If
	Else
		strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update"
		strValueName = "AUOptions"
		If RegValueExists(strKey, strValueName) Then
 			objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
			AU_Options = GetAUOpt(dwValue)
			If dwValue = "4" Then
				strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update"
				strValueName = "ScheduledInstallDay"
				If RegValueExists(strKey, strValueName) Then
		 			objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
					AU_SchedInstDay = GetAUDay(dwValue)
				Else
					AU_SchedInstDay = "Não configurado"
				End If

				strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update"
				strValueName = "ScheduledInstallTime"
				If RegValueExists(strKey, strValueName) Then
		 			objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
					AU_SchedInstTime = dwValue & ":00h"
				Else
					AU_SchedInstTime = "Não configurado"
				End If

			End If
		Else
			AU_Options = "Não configurado"
		End If
	End If

	strKey = "SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
	strValueName = "NoAutoRebootWithLoggedOnUsers"
	If RegValueExists(strKey, strValueName) Then
 		objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
		AU_NoAUReboot = GetNoAUReboot(dwValue)
	Else
		AU_NoAUReboot = "Não configurado - Ação Padrão: Usuários terão uma contagem regressiva de 5 minutos"
	End If

	strKey = "SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
	strValueName = "RescheduleWaitTime"
	If RegValueExists(strKey, strValueName) Then
 		objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
		AU_ReschWaitTime = GetReschWaitTime(dwValue)
	Else
		AU_ReschWaitTime = "Não configurado - Instalações não efetuadas serão reagendadas para horário posterior"
	End If

	strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update"
	strValueName = "AUState"
	If RegValueExists(strKey, strValueName) Then
 		objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKey, strValueName, dwValue
		AU_State = GetAUState(dwValue)
	Else
		AU_State = "Ajuste inexistente"
	End If

	If (SO_Build = "2195" AND SO_MajorSPVersion < "3") Then
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 544px;'>" & VarMsg_Err6 & "</span></li>" & vbCrLf
	Else
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>No Auto Update</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AU_NOAU) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Usar WSUS Server</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AU_WSUSServer) & "</span></li>" & vbCrLf
	If AU_Conf = False Then 
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>¬> WSUS Server</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AU_Name_WSUSServer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>¬> Cliente WSUS</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AU_WSUSClientStatus) & "</span></li>" & vbCrLf
	End If
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Opções do Update Automático</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AU_Options) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>¬> Agendamento do dia</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AU_SchedInstDay) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>¬> Agendamento da hora</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AU_SchedInstTime) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Reboot</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AU_NoAUReboot) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Reagendamento</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AU_ReschWaitTime) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Estado do Auto Update</span><span class='li_itens' style='width: 349px;'>" & CheckNull(AU_State) & "</span></li>" & vbCrLf
	End If
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf
End If

If REP_HARD = "ON" Then
':::::::::::::::::::::::::::::::::::::
'::				    ::
'::       Informações da CPU        ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_6_txt' onclick='Mostra(SH_6,SH_6_txt);'><span class='h_tmodule'>Processador</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_6' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 195px;'>ÍTEM</span><span class='s_line' style='width: 349px;'>QUANTIDADE</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Nº de CPUs</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Quant) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf

	strProperties = "DeviceID, Name, Family, CurrentClockSpeed, MaxClockSpeed, LoadPercentage, ProcessorId, Availability, AddressWidth, Version, Revision, Stepping, PowerManagementSupported, CurrentVoltage, SocketDesignation, ExtClock, L2CacheSize, L2CacheSpeed, Manufacturer, Description"
	objClass = "Win32_Processor"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colCPU = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colCPU
	CPU_ID = objItem.DeviceID
	CPU_Name = objItem.Name
	CPU_Family = objItem.Family
	CPU_Clock = FormatClock(objItem.CurrentClockSpeed)
	CPU_Clock_Max = FormatClock(objItem.MaxClockSpeed)
	CPU_Usage = FormatPerc(objItem.LoadPercentage)
	CPU_CPUID = objItem.ProcessorId
	CPU_Available = objItem.Availability
	CPU_Address = FormatBit(objItem.AddressWidth)
	CPU_Version = objItem.Version
	CPU_Revision = objItem.Revision
	CPU_Stepping = objItem.Stepping
	CPU_PowManSup = objItem.PowerManagementSupported
	CPU_CurrentVolt = FormatVolt(objItem.CurrentVoltage)
	CPU_Socket = objItem.SocketDesignation
	CPU_BUS = FormatClock(objItem.ExtClock)
	CPU_CL2 = MemValue(objItem.L2CacheSize)
	CPU_CL2Speed = FormatClock(objItem.L2CacheSpeed)
	CPU_Manufacturer = objItem.Manufacturer
	CPU_Info = objItem.Description
	Select Case CPU_ID
		Case "CPU0": CPU_ID = 1
		Case "CPU1": CPU_ID = 2
		Case "CPU2": CPU_ID = 3
		Case "CPU3": CPU_ID = 4
		Case "CPU4": CPU_ID = 5
		Case "CPU5": CPU_ID = 6
		Case "CPU6": CPU_ID = 7
		Case "CPU7": CPU_ID = 8
	End Select
	Select Case CPU_Family
		Case 1: CPU_Family = "Outra"
		Case 2: CPU_Family = "Não identificável"
		Case 11: CPU_Family = "Pentium® brand"
		Case 12: CPU_Family = "Pentium® Pro"
		Case 13: CPU_Family = "Pentium® II"
		Case 14: CPU_Family = "Pentium® processor with MMX technology"
		Case 15: CPU_Family = "Celeron™"
		Case 16: CPU_Family = "Pentium® II Xeon"
		Case 17: CPU_Family = "Pentium® III"
		Case 18: CPU_Family = "M1 Family"
		Case 19: CPU_Family = "M2 Family"
		Case 24: CPU_Family = "K5 Family"
		Case 25: CPU_Family = "K6 Family"
		Case 26: CPU_Family = "K6-2 Family"
		Case 27: CPU_Family = "K6-3 Family"
		Case 28: CPU_Family = "AMD Athlon™ Processor Family"
		Case 29: CPU_Family = "AMD® Duron™ Processor"
		Case 31: CPU_Family = "K6-2+ Family"
		Case 120: CPU_Family = "Crusoe™ TM5000 Family"
		Case 121: CPU_Family = "Crusoe™ TM3000 Family"
		Case 130: CPU_Family = "Itanium™ Processor"
		Case 176: CPU_Family = "Pentium® III Xeon™"
		Case 177: CPU_Family = "Pentium® III Processor with Intel® SpeedStep™ Technology"
		Case 178: CPU_Family = "Pentium® 4"
		Case 179: CPU_Family = "Intel® Xeon™"
		Case 181: CPU_Family = "Intel® Xeon™ processor MP"
		Case 182: CPU_Family = "AMD AthlonXP™ Family"
		Case 183: CPU_Family = "AMD AthlonMP™ Family"
		Case 184: CPU_Family = "Intel® Itanium® 2"
		Case 185: CPU_Family = "AMD Opteron™ Family"
		Case 190: CPU_Family = "K7 Family"
		Case 300: CPU_Family = "6x86 Family"
		Case 301: CPU_Family = "MediaGX Family"
		Case 302: CPU_Family = "MII Family"
		Case 320: CPU_Family = "WinChip Family"
	End Select
	Select Case CPU_Available
		Case 1: CPU_Available = "Outro"
		Case 2: CPU_Available = "Não Avaliável"
		Case 3: CPU_Available = "Executando/Full Power"
		Case 4: CPU_Available = "Perigo"
		Case 5: CPU_Available = "Em teste"
		Case 6: CPU_Available = "Não aplicável"
		Case 7: CPU_Available = "Desligado"
		Case 8: CPU_Available = "Off Line"
		Case 9: CPU_Available = "Off Duty"
		Case 10: CPU_Available = "Degradado"
		Case 11: CPU_Available = "Não instalado"
		Case 12: CPU_Available = "Erro de Instalação"
		Case 13: CPU_Available = "Power Save - Não Avaliável"
		Case 14: CPU_Available = "Power Save - Low Power Mode"
		Case 15: CPU_Available = "Power Save - Standby"
		Case 16: CPU_Available = "Power Cycle"
		Case 17: CPU_Available = "Power Save - Warning"
	End Select
	Select Case CPU_PowManSup
		Case 0: CPU_PowManSup = "Não suportado"
		Case 1: CPU_PowManSup = "Suportado"
	End Select
	Select Case CPU_Manufacturer
		Case "GenuineIntel": CPU_Manufacturer = "Intel Corporation"
		Case "AuthenticAMD": CPU_Manufacturer = "Advanced Micro Devices, Inc. (AMD)"
	End Select
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 195px;'>PROCESSADOR Nº</span><span class='s_line' style='width: 349px;'>" & CheckNull(CPU_ID) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Processador</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Família da CPU</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Family) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Freqüência da CPU</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Clock) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Freqüência máxima da CPU</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Clock_Max) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Uso da CPU</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Usage) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Identificação da CPU</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_CPUID) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Status da CPU</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Available) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Endereçamento da CPU</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Address) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Versão</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Version) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Revisão</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Revision) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Stepping</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Stepping) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Gereciamento de energia</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_PowManSup) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Voltagem da CPU</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_CurrentVolt) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Socket</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Socket) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Front Side Bus</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_BUS) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Cache L2</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_CL2) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Freqüência do cache L2</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_CL2Speed) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Fabricante</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Manufacturer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Descrição da CPU</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CPU_Info) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::     Informações de Memória      ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_7_txt' onclick='Mostra(SH_7,SH_7_txt);'><span class='h_tmodule'>Memória do sistema</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_7' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 544px;'>INFORMAÇÕES DE MEMÓRIA DO SISTEMA</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 196px;'>DESCRIÇÃO</span><span class='s_line' style='width: 116px;'>TOTAL</span><span class='s_line' style='width: 116px;'>LIVRE</span><span class='s_line' style='width: 116px;'>LIVRE (%)</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf

	strProperties = "TotalPhysicalMemory, TotalPageFileSpace, TotalVirtualMemory, AvailableVirtualMemory"
	objClass = "Win32_LogicalMemoryConfiguration"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colMemConfig = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in ColMemConfig
	Mem_Physical = MemValue(objItem.TotalPhysicalMemory)
	Mem_PageFile = MemValue(objItem.TotalPageFileSpace)
	Mem_VM = MemValue(objItem.TotalVirtualMemory)
	Mem_AvailableVM = MemValue(objItem.AvailableVirtualMemory)
	Percent_FreePhysMem = FormatPercent(SO_FreePhysMem / objItem.TotalPhysicalMemory)
	Percent_FreePageFileMem = FormatPercent(SO_FreePageFilMem / objItem.TotalPageFileSpace)
	Percent_FreeVMMem = FormatPercent(objItem.AvailableVirtualMemory / objItem.TotalVirtualMemory)
	SO_FreePhysMem = MemValue(SO_FreePhysMem)
	SO_FreePageFilMem = MemValue(SO_FreePageFilMem)
	Next
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 196px;'>Memória física</span><span class='li_itens' style='width: 116px;'>" & CheckNull(Mem_Physical) & "</span><span class='li_itens' style='width: 116px;'>" & CheckNull(SO_FreePhysMem) & "</span><span class='li_itens' style='width: 116px;'>" & CheckNull(Percent_FreePhysMem) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 196px;'>Total do Arquivo de troca (swap)</span><span class='li_itens' style='width: 116px;'>" & CheckNull(Mem_PageFile) & "</span><span class='li_itens' style='width: 116px;'>" & CheckNull(SO_FreePageFilMem) & "</span><span class='li_itens' style='width: 116px;'>" & CheckNull(Percent_FreePageFileMem) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 196px;'>Total da Memória Virtual</span><span class='li_itens' style='width: 116px;'>" & CheckNull(Mem_VM) & "</span><span class='li_itens' style='width: 116px;'>" & CheckNull(Mem_AvailableVM) & "</span><span class='li_itens' style='width: 116px;'>" & CheckNull(Percent_FreeVMMem) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::    Informações da Mainboard     ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_8_txt' onclick='Mostra(SH_8,SH_8_txt);'><span class='h_tmodule'>Placa-Mãe</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_8' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_9_txt' onclick='Mostra(SH_9,SH_9_txt);'><span class='s_line' style='width: 544px;'>INFORMAÇÕES SOBRE A PLACA-MÃE</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_9' style='display: none'>" & vbCrLf

	strProperties = "Product, Manufacturer, OtherIdentifyingInfo, SerialNumber, PartNumber, Version"
	objClass = "Win32_BaseBoard"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colMBoard = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colMBoard
	MB_Product = objItem.Product
	MB_Manufacturer = objItem.Manufacturer
	MB_NS = objItem.SerialNumber
	MB_PartNumber = objItem.PartNumber
	MB_Version = objItem.Version
	MB_OtherInfo = objItem.OtherIdentifyingInfo
	Next
	If MB_Product = "" AND MB_Manufacturer = "" AND MB_Model = "" AND MB_NS = "" AND MB_PartNumber = "" AND MB_Version = "" AND MB_OtherInfo = "" Then
		Out_ValZero()
	Else
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Placa-Mãe</span><span class='li_itens' style='width: 349px;'>" & CheckNull(MB_Product) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Fabricante</span><span class='li_itens' style='width: 349px;'>" & CheckNull(MB_Manufacturer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Modelo</span><span class='li_itens' style='width: 349px;'>" & CheckNull(MB_Model) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Número serial</span><span class='li_itens' style='width: 349px;'>" & CheckNull(MB_NS) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Part Number</span><span class='li_itens' style='width: 349px;'>" & CheckNull(MB_PartNumber) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Versão</span><span class='li_itens' style='width: 349px;'>" & CheckNull(MB_Version) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Outras informações</span><span class='li_itens' style='width: 349px;'>" & CheckNull(MB_OtherInfo) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf

	strProperties = "Name, Manufacturer, BuildNumber, CurrentLanguage, ReleaseDate, SerialNumber, SMBIOSBIOSVersion, Version"
	objClass = "Win32_BIOS"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colBios = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colBios
	Bios_Name = objItem.Name
	Bios_Manufacturer = objItem.Manufacturer
	Bios_Build = objItem.BuildNumber
	Bios_Lang = objItem.CurrentLanguage
	Bios_ReleaseDate = FormatDataTime(objItem.ReleaseDate)
	Bios_SN = objItem.SerialNumber
	Bios_SMBiosVersion = objItem.SMBIOSBIOSVersion
	Bios_Version = objItem.Version
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_10_txt' onclick='Mostra(SH_10,SH_10_txt);'><span class='s_line' style='width: 544px;'>BIOS</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_10' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Nome do Bios</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Bios_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Fabricante</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Bios_Manufacturer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Bios Build</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Bios_Build) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Idioma do Bios</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Bios_Lang) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Data do Bios</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Bios_ReleaseDate) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Número Serial</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Bios_SN) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Versão SMBIOS</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Bios_SMBiosVersion) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Versão do bios</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Bios_Version) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
	Next
	If Bios_Name = "" AND Bios_Manufacturer = "" AND Bios_Build = "" AND Bios_Lang = "" AND Bios_ReleaseDate = "" AND Bios_SN = "" AND Bios_SMBiosVersion = "" AND Bios_Version = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_11_txt' onclick='Mostra(SH_11,SH_11_txt);'><span class='s_line' style='width: 544px;'>SLOTS DE MEMÓRIA RAM</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_11' style='display: none'>" & vbCrLf
	
	strProperties = "DeviceLocator, Capacity, DataWidth, FormFactor, MemoryType, HotSwappable, Manufacturer, Speed"
	objClass = "Win32_PhysicalMemory"
	strQuery = "SELECT " & strProperties & " FROM " & objClass & " WHERE FormFactor = 6 OR FormFactor = 7 OR FormFactor = 8 OR FormFactor = 11 OR FormFactor = 12 OR FormFactor = 13"
	Set colMEM = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in ColMEM
	Mem_DevLoc = objItem.DeviceLocator
	Mem_Size = FormatValue(objItem.Capacity)
	Mem_Bits = FormatBit(objItem.DataWidth)
	Mem_HotSwap = objItem.HotSwappable
	Mem_FFactor = objItem.FormFactor
	Mem_Fab = objItem.Manufacturer
	Mem_Type = objItem.MemoryType
	Mem_SN = objItem.SerialNumber
	Mem_Speed = FormatClock(objItem.Speed)
	Select Case Mem_FFactor
		Case 7: Mem_FFactor = "SIMM"
		Case 8: Mem_FFactor = "DIMM"
		Case 11: Mem_FFactor = "RIMM"
		Case 12: Mem_FFactor = "SODIMM"
		Case 13: Mem_FFactor = "SRIMM"
		Case Else Mem_FFactor = "Não identificável"
	End Select
	Select case Mem_Type
		Case 0: Mem_Type = "Não identificável"
		Case 1: Mem_Type = "Outro tipo"
		Case 2: Mem_Type = "DRAM"
		Case 3: Mem_Type = "DRAM Síncrona"
		Case 4: Mem_Type = "Cache DRAM"
		Case 5: Mem_Type = "EDO"
		Case 6: Mem_Type = "EDRAM"
		Case 9: Mem_Type = "RAM"
		Case 11: Mem_Type = "Flash"
		Case 17: Mem_Type = "SDRAM"
		Case 19: Mem_Type = "RDRAM"
		Case 20: Mem_Type = "DDR"
	End Select
	Select Case Mem_HotSwap
		Case 1: Mem_HotSwap = "Sim"
		Case Else Mem_HotSwap = "Não"
	End Select
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Slot " & CheckNull(Mem_DevLoc) & "</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Mem_Size) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Largura do endereçamento</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Mem_Bits) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Tipo do módulo</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Mem_FFactor) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Tipo de memória</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Mem_Type) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Hot-Swappable</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Mem_HotSwap) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Fabricante</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Mem_Fab) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Clock da memória</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Mem_Speed) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If Mem_DevLoc = "" AND Mem_Size = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_12_txt' onclick='Mostra(SH_12,SH_12_txt);'><span class='s_line' style='width: 544px;'>SLOTS</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_12' style='display: none'>" & vbCrLf

	strProperties = "Tag, SlotDesignation"
	objClass = "Win32_SystemSlot"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colSlotSys = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in ColSlotSys
	Slot_Tag = objItem.Tag
	Slot_Desig = objItem.SlotDesignation
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>" & CheckNull(Slot_Tag) & "</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Slot_Desig) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If Slot_Tag = "" AND Slot_Desig = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_13_txt' onclick='Mostra(SH_13,SH_13_txt);'><span class='s_line' style='width: 544px;'>CONTROLADORAS</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_13' style='display: none'>" & vbCrLf

	strProperties = "Name, Manufacturer"
	objClass = "Win32_IDEController"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colCTRLIDE = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colCTRLIDE
	CTRLIDE_Name = objItem.Name
	CTRLIDE_Manufacturer = objItem.Manufacturer
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Controladora</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CTRLIDE_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Fabricante</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CTRLIDE_Manufacturer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next

	strProperties = "Name, Manufacturer"
	objClass = "Win32_SCSIController"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colCTRLSCSI = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colCTRLSCSI
	CTRLSCSI_Name = objItem.Name
	CTRLSCSI_Manufacturer = objItem.Manufacturer
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Controladora</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CTRLSCSI_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Fabricante</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CTRLSCSI_Manufacturer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_14_txt' onclick='Mostra(SH_14,SH_14_txt);'><span class='s_line' style='width: 544px;'>DISPOSITIVOS ON-BOARD</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_14' style='display: none'>" & vbCrLf

	strProperties = "Description, DeviceType, Model, Enabled, Manufacturer, Version"
	objClass = "Win32_OnBoardDevice"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colOnBoardDev = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colOnBoardDev
	OnBoardDev_Desc = objItem.Description
	OnBoardDev_Type = objItem.DeviceType
	OnBoardDev_Enable = objItem.Enabled
	Select Case OnBoardDev_Type
		Case 1: OnBoardDev_Type = "Outro dispositivo"
		Case 2: OnBoardDev_Type = "Não identificável"
		Case 3: OnBoardDev_Type = "Vídeo On-Board"
		Case 4: OnBoardDev_Type = "Controladora SCSI"
		Case 5: OnBoardDev_Type = "Rede On-Board"
		Case 6: OnBoardDev_Type = "Token Ring"
		Case 7: OnBoardDev_Type = "Som On-Board"
	End Select 
	Select Case OnBoardDev_Enable
		Case True: OnBoardDev_Enable = "<span class='green'>Ativo</span>"
		Case Else OnBoardDev_Enable = "<span class='red'>Desativado</span>"
	End Select 
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Descrição</span><span class='li_itens' style='width: 349px;'>" & CheckNull(OnBoardDev_Desc) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Tipo</span><span class='li_itens' style='width: 349px;'>" & CheckNull(OnBoardDev_Type) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Status</span><span class='li_itens' style='width: 349px;'>" & CheckNull(OnBoardDev_Enable) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If OnBoardDev_Desc = "" AND OnBoardDev_Type = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::             Video               ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_15_txt' onclick='Mostra(SH_15,SH_15_txt);'><span class='h_tmodule'>Vídeo</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_15' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_16_txt' onclick='Mostra(SH_16,SH_16_txt);'><span class='s_line' style='width: 544px;'>PLACA DE VÍDEO</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_16' style='display: none'>" & vbCrLf

	strProperties = "DeviceID, Name, VideoProcessor, ProtocolSupported, VideoArchitecture, AdapterRAM, VideoMemoryType, CurrentHorizontalResolution, CurrentVerticalResolution, CurrentBitsPerPixel, CurrentRefreshRate, MinRefreshRate, MaxRefreshRate, DriverVersion, DriverDate"
	objClass = "Win32_VideoController"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colVideo = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colVideo
	VGA_DevID = objItem.DeviceID
	VGA_Name = objItem.Name
	VGA_GPU = objItem.VideoProcessor
	VGA_Interface = objItem.ProtocolSupported
	VGA_Arch =  objItem.VideoArchitecture 
	VGA_Ram = FormatValue(objItem.AdapterRAM)
	VGA_Ram_Type = objItem.VideoMemoryType
	VGA_BitPix = FormatBit(objItem.CurrentBitsPerPixel)
	VGA_RESH = objItem.CurrentHorizontalResolution
	VGA_RESV = objItem.CurrentVerticalResolution
	VGA_RefrRCurr = FormatHz(objItem.CurrentRefreshRate)
	VGA_RefrRMin = FormatHz(objItem.MinRefreshRate)
	VGA_RefrRMax = FormatHz(objItem.MaxRefreshRate)
	VGA_Driver = objItem.DriverVersion
	VGA_Driver_Date = FormatDataTime(objItem.DriverDate)
	Select Case VGA_DevID
		case "VideoController1": VGA_DevID = "1"
		Case "VideoController2": VGA_DevID = "2"
		Case "VideoController3": VGA_DevID = "3"
		Case "VideoController4": VGA_DevID = "4"
		Case "VideoController5": VGA_DevID = "5"
		Case "VideoController6": VGA_DevID = "6"
		Case "VideoController7": VGA_DevID = "7"
		Case "VideoController8": VGA_DevID = "8"
	End Select
	Select Case VGA_Interface
		Case 1: VGA_Interface = "Outro tipo"
		Case 2: VGA_Interface = "Não identificável"
		Case 3: VGA_Interface = "EISA"
		Case 4: VGA_Interface = "ISA"
		Case 5: VGA_Interface = "PCI"
		Case 14: VGA_Interface = "VESA"
		Case 15: VGA_Interface = "PCMCIA"
		Case 16: VGA_Interface = "USB"
		Case 43: VGA_Interface = "AGP"
		Case Else VGA_Interface = "Não identificável"
	End Select
	Select Case VGA_Arch
		Case 1: VGA_Arch = "Outro tipo"
		Case 2: VGA_Arch = "Não identificável"
		Case 3: VGA_Arch = "CGA"
		Case 4: VGA_Arch = "EGA"
		Case 5: VGA_Arch = "VGA"
		Case 6: VGA_Arch = "SVGA"
		Case 7: VGA_Arch = "MDA"
		Case 8: VGA_Arch = "HGC"
		Case 9: VGA_Arch = "MCGA"
		Case 10 VGA_Arch = "8514A"
		Case 11: VGA_Arch = "XGA"
		Case 12: VGA_Arch = "Linear Frame Buffer"
		Case 160: VGA_Arch = "PC-98"
	End Select
	Select Case VGA_Ram_Type
		Case 1: VGA_Ram_Type = "Outro tipo"
		Case 2: VGA_Ram_Type = "Não identificável"
		Case 3: VGA_Ram_Type = "VRAM"
		Case 4: VGA_Ram_Type = "DRAM"
		Case 5: VGA_Ram_Type = "SRAM"
		Case 6: VGA_Ram_Type = "WRAM"
		Case 7: VGA_Ram_Type = "EDO RAM"
		Case 8: VGA_Ram_Type = "Burst Synchronous DRAM"
		Case 9: VGA_Ram_Type = "Pipelined Burst SRAM"
		Case 10: VGA_Ram_Type = "CDRAM"
		Case 11: VGA_Ram_Type = "3DRAM"
		Case 12: VGA_Ram_Type = "SDRAM"
		Case 13: VGA_Ram_Type = "SGRAM"
		Case Else VGA_Ram_Type = "Não identificável"
	End Select
	If VGA_Name <> "Winvnc video hook driver" AND VGA_RefrRCurr <> "" AND VGA_RefrRMin <> "" AND VGA_RefrRMax <> "" OR VGA_RESH <> "" AND VGA_RESV <> "" Then
		VGA_RefrRate = VGA_RefrRCurr & " (" & VGA_RefrRMin & " ~ " & VGA_RefrRMax & ")"
		VGA_Resolution = VGA_RESH & " x " & VGA_RESV & " Pixels"
	Else
		VGA_RefrRate = "-"
		VGA_Resolution = "-"
	End If
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Controladora de vídeo nº</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_DevID) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Placa de vídeo</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Processador gráfico</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_GPU) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Interface de vídeo</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_Interface) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Tipo de vídeo</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_Arch) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Memória Ram</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_Ram) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Tipo de Memória Ram</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_Ram_Type) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Resolução</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_Resolution) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Pixels</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_BitPix) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Taxa de atualização</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_RefrRate) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Versão do driver</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_Driver) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Data do Driver</span><span class='li_itens' style='width: 349px;'>" & CheckNull(VGA_Driver_date) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_17_txt' onclick='Mostra(SH_17,SH_17_txt);'><span class='s_line' style='width: 544px;'>MONITOR</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_17' style='display: none'>" & vbCrLf

	strProperties = "DeviceID, Name, MonitorManufacturer, MonitorType"
	objClass = "Win32_DesktopMonitor"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colMonitor = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colMonitor
	Monitor_ID = objItem.DeviceID
	Monitor_Info = objItem.Name
	Monitor_Fab = objItem.MonitorManufacturer
	Monitor_Type = objItem.MonitorType
	Select Case Monitor_ID
		Case "DesktopMonitor1": Monitor_ID = "1"
		Case "DesktopMonitor2": Monitor_ID = "2"
		Case "DesktopMonitor3": Monitor_ID = "3"
		Case "DesktopMonitor4": Monitor_ID = "4"
	End Select
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Monitor nº</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Monitor_ID) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Monitor</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Monitor_Info) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Fabricante</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Monitor_Fab) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Tipo de monitor</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Monitor_Type) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::           Multimídia            ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_18_txt' onclick='Mostra(SH_18,SH_18_txt);'><span class='h_tmodule'>Multimídia</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_18' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_19_txt' onclick='Mostra(SH_19,SH_19_txt);'><span class='s_line' style='width: 544px;'>DISPOSITIVO DE ÁUDIO</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_19' style='display: none'>" & vbCrLf

	strProperties = "Name, ProductName, Manufacturer"
	objClass = "Win32_SoundDevice"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colSound = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colSound
	Sound_Name = objItem.Name
	Sound_ProdName = objItem.ProductName
	Sound_Manufacturer = objItem.Manufacturer
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Nome do dispositivo</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Sound_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Nome do Produto</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Sound_ProdName) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Fabricante</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Sound_Manufacturer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If Sound_Name = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_20_txt' onclick='Mostra(SH_20,SH_20_txt);'><span class='s_line' style='width: 544px;'>DISPOSITIVO DE MÍDIA</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_20' style='display: none'>" & vbCrLf

	strProperties = "Name, Drive, Manufacturer, Description, MediaLoaded"
	objClass = "Win32_CDROMDrive"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colCD = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colCD
	CD_Name = objItem.Name
	CD_Drive = objItem.Drive
	CD_Manufacturer = objItem.Manufacturer
	CD_Description = objItem.Description
	CD_MediaLoad = objItem.MediaLoaded
	Select Case CD_MediaLoad
		Case 1: CD_MediaLoad = "<span class='green'>Detectada</span>"
		Case Else CD_MediaLoad = "<span class='red'>Não detectada</span>"
	End Select
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Nome do dispositivo</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CD_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Letra do dispositivo</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CD_Drive) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Fabricante</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CD_Manufacturer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Descrição</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CD_Description) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Mídia</span><span class='li_itens' style='width: 349px;'>" & CheckNull(CD_MediaLoad) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If CD_Name = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::    Dispositivos de entrada      ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_21_txt' onclick='Mostra(SH_21,SH_21_txt);'><span class='h_tmodule'>Dispositivos de entrada</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_21' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_22_txt' onclick='Mostra(SH_22,SH_22_txt);'><span class='s_line' style='width: 544px;'>TECLADO</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLfLf
		MountHtml = MountHtml & "<span id='SH_22' style='display: none'>" & vbCrLf

	strProperties = "Description, Name, IsLocked, NumberOfFunctionKeys, Status"
	objClass = "Win32_Keyboard"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colKeyb = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colKeyb
	Keyb_Dev = objItem.Description
	Keyb_Type = objItem.Name
	Keyb_Lock = objItem.IsLocked
	Keyb_NumFuncKeys = objItem.NumberOfFunctionKeys
	Keyb_Status = objItem.Status
	Select Case Keyb_Lock
		Case 1: Keyb_Lock = "<span class='green'>Ativo</span>"
		Case Else Keyb_Lock = "<span class='red'>Desativado</span>"
	End Select
	Select Case Keyb_Status
		Case "OK": Keyb_Status = "<span class='green'>Presente</span>"
		Case Else Keyb_Status = "<span class='red'>Não presente</span>"
	End Select
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Teclado</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Keyb_Dev) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Tipo de teclado</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Keyb_Type) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Bloqueio</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Keyb_Lock) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Número de teclas de função</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Keyb_NumFuncKeys) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Status</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Keyb_Status) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_23_txt' onclick='Mostra(SH_23,SH_23_txt);'><span class='s_line' style='width: 544px;'>MOUSE</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLfLf
		MountHtml = MountHtml & "<span id='SH_23' style='display: none'>" & vbCrLf

	strProperties = "HardwareType, DeviceInterface, Manufacturer, NumberOfButtons, Handedness, Status"
	objClass = "Win32_PointingDevice"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colMouse = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colMouse
	Mouse_Dev = objItem.HardwareType
	Mouse_IntConn = objItem.DeviceInterface
	Mouse_Manufacturer = objItem.Manufacturer
	Mouse_NumButtons = objItem.NumberOfButtons
	Mouse_Type = objItem.PointingType
	Mouse_Status = objItem.Status
	Select Case Mouse_IntConn
		Case 1: Mouse_IntConn = "Outra"
		Case 2: Mouse_IntConn = "Não definida"
		Case 3: Mouse_IntConn = "Serial"
		Case 4: Mouse_IntConn = "PS/2"
		Case 5: Mouse_IntConn = "Infra Vermelho"
		Case 6: Mouse_IntConn = "HP-HIL"
		Case 7: Mouse_IntConn = "Bus Mouse"
		Case 8: Mouse_IntConn = "ADB (Apple Desktop Bus)"
		Case 160: Mouse_IntConn = "DB-9"
		Case 161: Mouse_IntConn = "Micro-DIN"
		Case 162: Mouse_IntConn = "USB"
		Case Else Mouse_IntConn = "Não identificável"
	End Select
	Select Case Mouse_Status
		Case "OK": Mouse_Status = "<span class='green'>Presente</span>"
		Case Else Mouse_Status = "<span class='red'>Não presente</span>"
	End Select
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Mouse</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Mouse_Dev) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Interface de conexão</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Mouse_IntConn) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Fabricante</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Mouse_Manufacturer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Número de botões</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Mouse_NumButtons) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Status</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Mouse_Status) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_24_txt' onclick='Mostra(SH_24,SH_24_txt);'><span class='s_line' style='width: 544px;'>USB</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLfLf
		MountHtml = MountHtml & "<span id='SH_24' style='display: none'>" & vbCrLf

	strProperties = "Dependent"
	objClass = "Win32_USBControllerDevice"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colDevices = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colDevices
	strDeviceName = objItem.Dependent
	strQuotes = Chr(34)
	strDeviceName = Replace(strDeviceName, strQuotes, "")
	arrDeviceNames = Split(strDeviceName, "=")
	strDeviceName = arrDeviceNames(1)
	Set colUSBDevices = objWMIService.ExecQuery("SELECT DeviceID, Description FROM Win32_PnPEntity WHERE DeviceID = '" & strDeviceName & "'")
		For Each objItem2 in colUSBDevices
		USB_DevName = objItem2.Description	
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 544px;'>" & CheckNull(USB_DevName) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		Next
	Next
	If USB_DevName = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::     Informações de Storage      ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_25_txt' onclick='Mostra(SH_25,SH_25_txt);'><span class='h_tmodule'>Storage</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_25' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_26_txt' onclick='Mostra(SH_26,SH_26_txt);'><span class='s_line' style='width: 544px;'>UNIDADES FÍSICAS</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_26' style='display: none'>" & vbCrLf

	strProperties = "Caption, InterfaceType, DeviceID, Size"
	objClass = "Win32_DiskDrive"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colDiskDrives = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objDrive in colDiskDrives
	DiskD_Name = objDrive.Caption
	DiskD_Intface = objDrive.InterfaceType
	DiskD_DevID = Replace(objDrive.DeviceID, "\", "\\")
	DiskD_Size = FormatValue(objDrive.Size)

	Set colPartitions = objWMIService.ExecQuery("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & DiskD_DevID & """} WHERE AssocClass = " & "Win32_DiskDriveToDiskPartition")
 	For Each objPartition In colPartitions
	DiskPart_DevID = objPartition.DeviceID

	Set colLogicalDisks = objWMIService.ExecQuery("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & DiskPart_DevID & """} WHERE AssocClass = " & "Win32_LogicalDiskToPartition")
        For Each objLogicalDisk In colLogicalDisks
	DiskLogic_DevID = objLogicalDisk.DeviceID
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Unidade física</span><span class='li_itens' style='width: 349px;'>" & CheckNull(DiskD_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Interface de conexão</span><span class='li_itens' style='width: 349px;'>" & CheckNull(DiskD_Intface) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Tamanho Físico</span><span class='li_itens' style='width: 349px;'>" & CheckNull(DiskD_Size) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Partição da Unidade</span><span class='li_itens' style='width: 349px;'>" & CheckNull(DiskPart_DevID) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Unidade Lógica</span><span class='li_itens' style='width: 349px;'>" & CheckNull(DiskLogic_DevID) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	Next
	Next
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_27_txt' onclick='Mostra(SH_27,SH_27_txt);'><span class='s_line' style='width: 544px;'>UNIDADES LÓGICAS</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_27' style='display: none'>" & vbCrLf

	strProperties = "Name, FileSystem, Size, FreeSpace, DriveType"
	objClass = "Win32_LogicalDisk"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colDisks = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colDisks
	Name_Storage = objItem.Name
	File_System = objItem.FileSystem
	Total_Space = FormatValue(objItem.Size)
	Free_Space = FormatValue(objItem.FreeSpace)
	Percent_UsedSpace = FormatPercent((objItem.Size - objItem.FreeSpace) / objItem.Size)
	Percent_FreeSpace = FormatPercent(objItem.FreeSpace / objItem.Size)
	Select Case objItem.DriveType
		Case 0: Disk_Type = "Unidade não encontrada"
		Case 1: Disk_Type = "Unidade de Ram"
		Case 2: Disk_Type = "Unidade Removível"
		Case 3: Disk_Type = "Unidade Local"
		Case 4: Disk_Type = "Unidade de Rede"
		Case 5: Disk_Type = "CD-ROM / DVD-ROM"
	End Select
	If objItem.Size <> 0 AND objItem.FreeSpace <> 0 Then
		If objItem.FreeSpace =< 1048948736 AND Name_Storage <> "A:" AND Name_Storage <> "B:" Then 
			Tag_Status = "#ff0000"
			Percent_UsedSpace = Replace(Percent_UsedSpace, ",", ".")
		Else
			Tag_Status = "#00ff00"
			Percent_UsedSpace = Replace(Percent_UsedSpace, ",", ".")
		End If
			Percent_FreeSpace = " (" & Percent_FreeSpace & ")"
	Else
			Tag_Status = "#ff0000"
			Percent_UsedSpace = "-"
			Percent_FreeSpace = ""
	End If
	Select Case strDX
		Case True: Tag_Style = "filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#ffffff',endColorStr='" & Tag_Status & "',gradientType='0'); width: " & CheckNull(Percent_UsedSpace) & "; height: 5px; background-color: " & Tag_Status & "; font-size: 0px;"
		Case False: Tag_Style = "width: " & CheckNull(Percent_UsedSpace) & "; height: 5px; background-color: " & Tag_Status & ";"
	End Select
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 95px;'>" & CheckNull(Name_Storage) & "</span><span class='li_itens' style='width: 449px;'>" & CheckNull(Disk_Type) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 95px;'></span><span class='li_itens' style='width: 449px;'><span style='border-right: " & Tag_Status & " 1px solid; border-top: " & Tag_Status & " 1px solid;	border-left: " & Tag_Status & " 1px solid; border-bottom: " & Tag_Status & " 1px solid; width: 200px; height: 5px; position: static; font-size: 0px;'><span style=" & Chr(34) & Tag_Style & Chr(34) & "></span></span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 95px;'></span><span class='li_itens' style='width: 120px;'>Espaço Total : </span><span class='li_itens' style='width: 329px;'>" & CheckNull(Total_Space) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 95px;'></span><span class='li_itens' style='width: 120px;'>Espaço livre : </span><span class='li_itens' style='width: 329px;'>" & CheckNull(Free_Space) & Percent_FreeSpace & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 95px;'></span><span class='li_itens' style='width: 120px;'>Sistema de Arquivo : </span><span class='li_itens' style='width: 329px;'>" & CheckNull(File_System) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::   Informações de Tape Drives    ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_28_txt' onclick='Mostra(SH_28,SH_28_txt);'><span class='h_tmodule'>Tape/Dat Drives</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_28' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 544px;'>DESCRIÇÃO</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf

	strProperties = "Name, Manufacturer, Compression, ECC"
	objClass = "Win32_TapeDrive"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colTape = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in ColTape
	Tape_Name = objItem.Name
	Tape_Manufacturer = objItem.Manufacturer
	Tape_Compression = objItem.Compression
	Tape_ECC = objItem.ECC
	Select Case Tape_Compression
		Case True: Tape_Compression = "<span class='green'>Ativada</span>"
		Case Else Tape_Compression = "<span class='red'>Desativada</span>"
	End Select
	Select Case Tape_ECC
		Case True: Tape_ECC = "Suportado"
		Case Else Tape_ECC = "Não suportado"
	End Select
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Tape Drive</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Tape_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Fabricante</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Tape_Manufacturer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Compressão</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Tape_Compression) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Checagem de erro por hardware</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Tape_ECC) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If Tape_Name = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::           Impressoras           ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_29_txt' onclick='Mostra(SH_29,SH_29_txt);'><span class='h_tmodule'>Impressora</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_29' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 195px;'>ÍTEM</span><span class='s_line' style='width: 349px;'>DESCRIÇÃO</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf

	strProperties = "DriverName, PortName, ShareName, HorizontalResolution, VerticalResolution, PrinterPaperNames, PrinterState"
	objClass = "Win32_Printer"
	strQuery = "SELECT " & strProperties & " FROM " & objClass & " WHERE PortName = 'LPT1:' OR PortName = 'LPT2:' OR PortName = 'LPT3:' OR PortName = 'USB:' AND Local = 'True'"
	Set colInstalledPrinters = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colInstalledPrinters 
	Print_DRVName = objItem.DriverName
	Print_Port = objItem.PortName
	Print_ShareName = objItem.ShareName
	Print_HResol = objItem.HorizontalResolution
	Print_VResol = objItem.VerticalResolution
	Print_PaperNames = objItem.PrinterPaperNames
	Print_State = objItem.PrinterState
	Select Case Print_State
		Case 0: Print_State = "Sem impressão"
		Case 1: Print_State = "Pausada"
		Case 2: Print_State = "Erro"
		Case 3: Print_State = "Pendente de deleção"
		Case 4: Print_State = "Paper Jam"
		Case 5: Print_State = "Saída de papel"
		Case 6: Print_State = "Manual Feed"
		Case 7: Print_State = "Problema com papel"
		Case 8: Print_State = "Offline"
		Case 9: Print_State = "IO Ativo"
		Case 10: Print_State = "Busy"
		Case 11: Print_State = "Imprimindo"
		Case 12: Print_State = "Output Bin Full"
		Case 13: Print_State = "Não avaliável"
		Case 14: Print_State = "Aguardando"
		Case 15: Print_State = "Processando"
		Case 16: Print_State = "Inicialização"
		Case 17: Print_State = "Atenção - Perigo"
		Case 18: Print_State = "Cartucho baixo"
		Case 19: Print_State = "Nenhum cartucho"
		Case 20: Print_State = "Page Punt"
		Case 21: Print_State = "Intervenção do usuário é requerida"
		Case 22: Print_State = "Sem memória"
		Case 23: Print_State = "Tampa aberta"
		Case 24: Print_State = "Servidor não disponível neste momento"
		Case 25: Print_State = "Economia de Energia"
	End Select
	If Print_DRVName <> "" AND Print_Port <> "" AND Print_ShareName <> "" AND Print_HResol <> "" AND PrinterPaperNames <> "" AND Print_VResol <> "" Then
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Impressora</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Print_DRVName) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Porta</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Print_Port) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Nome do compartilhamento</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Print_ShareName) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Resolução horizontal</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Print_HResol) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Resolução vertical</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Print_VResol) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Papéis suportados</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Print_PaperNames) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Estado da impressora</span><span class='li_itens' style='width: 349px;'>" & CheckNull(Print_State) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	End If
	Next
	If ShareName = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::      Dispositivos de rede       ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_30_txt' onclick='Mostra(SH_30,SH_30_txt);'><span class='h_tmodule'>Conectividade</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_30' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_31_txt' onclick='Mostra(SH_31,SH_31_txt);'><span class='s_line' style='width: 544px;'>REDE LAN</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLfLf
		MountHtml = MountHtml & "<span id='SH_31' style='display: none'>" & vbCrLf

	strProperties = "ProductName, Manufacturer, MACAddress, AdapterType"
	objClass = "Win32_NetworkAdapter"
	strQuery = "SELECT " & strProperties & " FROM " & objClass & " WHERE MACAddress = '" & Lan_Mac_Address & "' AND AdapterType ='Ethernet 802.3' AND ProductName !='Packet Scheduler Miniport' AND ProductName !='Miniporta do agendador de pacotes'"
	Set colLan = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem2 in colLan
	Net_Prod = objItem2.ProductName
	Net_Manufacturer = objItem2.Manufacturer
	Net_MAC = objItem2.MACAddress
	Set ColNic = objWMIService.ExecQuery("SELECT NdisMediaConnectStatus, InstanceName FROM MSNdis_MediaConnectStatus WHERE InstanceName = '" & Net_Prod & "'")
	For Each objItem3 In ColNic
	Nic_Name = objItem3.InstanceName
	Nic_Status = objItem3.NdisMediaConnectStatus
		If Instr(1, Nic_Name, "WAN Miniport") <> 1 then
			Select Case Nic_Status
				Case 0: Nic_Status = "<span class='green'>Conectado</span>"
				Case 1: Nic_Status = "<span class='red'>Desconectado</span>"
				Case Else Nic_Status = "<span class='red'>Não identificável</span>"
			End Select
		End If
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Dispositivo LAN</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Net_Prod) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Status do dispositivo</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Nic_Status) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Fabricante</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Net_Manufacturer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Endereço MAC</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Net_MAC) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	Next
	If Net_Prod = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_32_txt' onclick='Mostra(SH_32,SH_32_txt);'><span class='s_line' style='width: 544px;'>CONEXÃO IRDA</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_32' style='display: none'>" & vbCrLf

	strProperties = "Name, Manufacturer, Status"
	objClass = "Win32_InfraredDevice"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colWan = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colWan
	Wan_DevName = objItem.Name
	Wan_Status = objItem.Status
	Wan_Manufacturer = objItem.Manufacturer
	Select Case Wan_Status
		Case "OK": Wan_Status = "<span class='green'>" & Wan_Status & "</span>"
		Case Else Wan_Status = "<span class='red'>" & Wan_Status & "</span>"
	End Select
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Dispositivo WAN</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Wan_DevName) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Status do dispositivo</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Wan_Status) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Fabricante</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Wan_Manufacturer) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If Wan_DevName = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_33_txt' onclick='Mostra(SH_33,SH_33_txt);'><span class='s_line' style='width: 544px;'>MODEM</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_33' style='display: none'>" & vbCrLf

	strProperties = "Caption, DeviceType, AttachedTo, DriverDate, StatusInfo"
	objClass = "Win32_PotsModem"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colModem = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colModem
	Modem_Name = objItem.Caption
	Modem_Type = objItem.DeviceType
	Modem_Port = objItem.AttachedTo
	Modem_DRVDate = FormatDataTime(objItem.DriverDate)
	Modem_Status = objItem.StatusInfo
	Select Case Modem_Status
		Case 1: Modem_Status = "Outro"
		Case 2: Modem_Status = "<span class='red'>Desligado ou não presente</span>"
		Case 3: Modem_Status = "<span class='green'>Ativo</span>"
		Case 4: Modem_Status = "<span class='red'>Desativado</span>"
		Case 5: Modem_Status = "Não aplicável"
	End Select
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Modem</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Modem_Name) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Tipo</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Modem_Type) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Porta</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Modem_Port) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Data do Driver</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Modem_DRVDate) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 180px;'>Status do dispositivo</span><span class='li_itens' style='width: 364px;'>" & CheckNull(Modem_Status) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If Modem_Name = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf
End If

If REP_USER = "ON" Then
':::::::::::::::::::::::::::::::::::::
'::				    ::
'::        Grupos e Usuários        ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_34_txt' onclick='Mostra(SH_34,SH_34_txt);'><span class='h_tmodule'>Grupos e usuários do sistema</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_34' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 160px;'>GRUPOS</span><span class='s_line' style='width: 384px;'>USUÁRIOS</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf

	Set colGroups = GetObject("WinNT://" & strPC & "")
	colGroups.Filter = Array("group")
	For Each objItem In colGroups
	Group_Name = UCase(objItem.Name)
	Last_Group = Group_Name

	Set Grupos = GetObject("WinNT://" & strPC & "/"& Group_Name &", group")
	For Each objUser in Grupos.members
	User_Name = "¬> " & objUser.Name
	If Last_Group = Group_Name then
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 160px;'>" & Group_Name & "</span><span class='li_subitens' style='width: 384px;'>" & User_Name & "</span></li>" & vbCrLf
	Else
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 160px;'>" & Last_Group & "</span><span class='li_subitens' style='width: 384px;'>" & User_Name & "</span></li>" & vbCrLf
	End if
		User_Name = ""
		Last_Group = ""
	Next
	If Last_Group <> "" then
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 160px;'>" & Group_Name & "</span><span class='li_subitens' style='width: 384px;'>" & CheckNull(User_Name) & "</span></li>" & vbCrLf
	End if
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If Group_Name = "" And User_Name = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf
End If

IF REP_SYS = "ON" Then
':::::::::::::::::::::::::::::::::::::
'::				    ::
'::        Compartilhamentos        ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_35_txt' onclick='Mostra(SH_35,SH_35_txt);'><span class='h_tmodule'>Pastas compartilhadas</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_35' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_36_txt' onclick='Mostra(SH_36,SH_36_txt);'><span class='s_line' style='width: 544px;'>COMPARTILHADOS</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_36' style='display: none'>" & vbCrLf

	strProperties = "Path, Name, Description"
	objClass = "Win32_Share"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colShares = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colShares
	Shares_Path = objItem.Path
	Shares_Folder = objItem.Name
	Shares_Description = objItem.Description
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Caminho</span><span class='li_subitens' style='width: 349px;'>" & CheckNull(Shares_Path) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Nome</span><span class='li_subitens' style='width: 349px;'>" & CheckNull(Shares_Folder) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>Descrição</span><span class='li_subitens' style='width: 349px;'>" & CheckNull(Shares_Description) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If Shares_Path = "" AND Shares_Folder = "" AND Shares_Description = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_37_txt' onclick='Mostra(SH_37,SH_37_txt);'><span class='s_line' style='width: 544px;'>SESSÕES</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_37' style='display: none'>" & vbCrLf

	Set objConnection = GetObject("WinNT://" & strPC & "/LanmanServer")
	Set colSessions = objConnection.Sessions
	For Each objItem in colSessions
	Session_User = objItem.User
	Session_PC = objItem.Computer
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>" & CheckNull(Session_User) & "</span><span class='li_subitens' style='width: 349px;'>" & CheckNull(Session_PC) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If Session_User = "" AND Session_PC = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='showhide' id='SH_38_txt' onclick='Mostra(SH_38,SH_38_txt);'><span class='s_line' style='width: 544px;'>ARQUIVOS ABERTOS</span></span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_38' style='display: none'>" & vbCrLf

	Set objConnection = GetObject("WinNT://" & strPC & "/LanmanServer")
	Set colResources = objConnection.Resources
	For Each objItem in colResources
	Res_User = objItem.User
	Res_Path = objItem.Path
	If Res_User <> "" AND Res_Path <> "" Then
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 195px;'>" & CheckNull(Res_User) & "</span><span class='li_subitens' style='width: 349px;'>" & CheckNull(Res_Path) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	End If
	Next
	If Res_User = "" AND Res_Path = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::         Drives Mapeados         ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_39_txt' onclick='Mostra(SH_39,SH_39_txt);'><span class='h_tmodule'>Drives mapeados</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_39' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 160px;'>ÍTEM</span><span class='s_line' style='width: 384px;'>DESCRIÇÃO</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf

	strProperties = "Name, Description"
	objClass = "Win32_LogicalDisk"
	strQuery = "SELECT " & strProperties & " FROM " & objClass & " WHERE Description = 'Network Connection'"
	Set colMaps = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colMaps
	Map_Drive = objItem.Name
	Map_Description = objItem.Description
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 160px;'>" & CheckNull(Map_Drive) & "</span><span class='li_subitens' style='width: 384px;'>" & CheckNull(Map_Description) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If Map_Drive = "" And Map_Description = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::      Softwares instalados       ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_40_txt' onclick='Mostra(SH_40,SH_40_txt);'><span class='h_tmodule'>Softwares</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_40' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 260px;'>SOFTWARE</span><span class='s_line' style='width: 100px;'>VERSÃO</span><span class='s_line' style='width: 184px;'>CAMINHO</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf

	strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
	objReg.EnumKey HKEY_LOCAL_MACHINE, strKey, arrSubKeys
	For Each strSubKey In arrSubKeys
	objReg.GetStringValue HKEY_LOCAL_MACHINE, strKey & "\" & strSubKey, "DisplayName", strDisplayName
	objReg.GetStringValue HKEY_LOCAL_MACHINE, strKey & "\" & strSubKey, "DisplayVersion", strDisplayVersion
	objReg.GetStringValue HKEY_LOCAL_MACHINE, strKey & "\" & strSubKey, "InstallLocation", strInstallLocation
	Soft_Install = strDisplayName
	Soft_Version = strDisplayVersion
	Soft_Vendor = strInstallLocation
	If Soft_Install <> "" Then
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 260px;'>" & CheckNull(Soft_Install) & "</span><span class='li_itens' style='width: 100px;'>" & CheckNull(Soft_Version) & "</span><span class='li_itens' style='width: 184px;'>" & CheckNull(Soft_Vendor) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	End If
	Next
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::        Hot-Fix e Patches        ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_41_txt' onclick='Mostra(SH_41,SH_41_txt);'><span class='h_tmodule'>Hot-Fix e Patch</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_41' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 160px;'>ÍTEM</span><span class='s_line' style='width: 384px;'>DESCRIÇÃO</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf

	strProperties = "HotFixID, Description"
	objClass = "Win32_QuickFixEngineering"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colQuickFixes = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colQuickFixes
	Hot_Fix = objItem.HotFixID
	Hot_Fix_Description = objItem.Description
	If Hot_Fix <> "File 1" OR Hot_Fix <> "" AND Hot_Fix_Description <> "" Then
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 160px;'>" & CheckNull(Hot_Fix) & "</span><span class='li_itens' style='width: 384px;'>" & CheckNull(Hot_Fix_Description) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	End If
	Next
	If Hot_Fix = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::      Variáveis do Sistema       ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_42_txt' onclick='Mostra(SH_42,SH_42_txt);'><span class='h_tmodule'>Variáveis do sistema</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_42' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 160px;'>VARIÁVEIS DO SISTEMA</span><span class='s_line' style='width: 384px;'>DESCRIÇÃO</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf

	strProperties = "Name, VariableValue"
	objClass = "Win32_Environment"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colVarSys = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem In colVarSys
	Var_Sys_Name = objItem.Name
	Var_Sys_Description = objItem.VariableValue
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 160px;'>" & CheckNull(Var_Sys_Name) & "</span><span class='li_itens' style='width: 384px;'>" & CheckNull(Var_Sys_Description) & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::       Serviços do Sistema       ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
		MountHtml = MountHtml & "<br/>" & vbCrLf
		MountHtml = MountHtml & "<div id='div_t1'>" & vbCrLf
		MountHtml = MountHtml & "<span class='showhide' id='SH_43_txt' onclick='Mostra(SH_43,SH_43_txt);'><span class='h_tmodule'>Serviços do sistema</span></span>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
		MountHtml = MountHtml & "<span id='SH_43' style='display: none'>" & vbCrLf
		MountHtml = MountHtml & "<ul class='list_itens'>" & vbCrLf
		MountHtml = MountHtml & "<li><span class='s_line' style='width: 300px;'>SERVIÇO</span><span class='s_line' style='width: 122px;'>STATUS</span><span class='s_line' style='width: 122px;'>MODO</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf

	strProperties = "DisplayName, State, StartMode"
	objClass = "Win32_Service"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colServices = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
	For Each objItem in colServices
	SRV_Name = objItem.DisplayName
	SRV_Status = GetStatusService(objItem.State)
	SRV_Status_Mode = objItem.StartMode
	Select Case SRV_Status_Mode
		Case "Manual": SRV_Status_Mode = "Manual"
		Case "Disabled": SRV_Status_Mode = "Desabilitado"
		Case "Auto": SRV_Status_Mode = "Automático"
	End Select
		MountHtml = MountHtml & "<li><span class='li_itens' style='width: 300px;'>" & SRV_Name & "</span><span class='li_itens' style='width: 122px;'>" & SRV_Status & "</span><span class='li_itens' style='width: 122px;'>" & SRV_Status_Mode & "</span></li>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
	Next
	If SRV_Name = "" Then
		Out_ValZero()
	End If
		MountHtml = MountHtml & "</ul>" & vbCrLf
		MountHtml = MountHtml & "<span class='l_foot'></span>" & vbCrLf
		MountHtml = MountHtml & "</span>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf
End If

End Sub

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::       Sub Fecha Browser         ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Sub DataG_CloseHTML(byVal strOpc)
		MountHtml = MountHtml & "</br>" & vbCrLf
		MountHtml = MountHtml & "<div id='l_foot'>Término do inventário: " & AudData() & "</div>" & vbCrLf
		MountHtml = MountHtml & "<div id='t_foot' align='center'>" & vbCrLf
		MountHtml = MountHtml & "<INPUT TYPE=" & Chr(34) & "button" & Chr(34) & " NAME=" & Chr(34) & "button_2" & Chr(34) & " VALUE=" & Chr(34) & "Informação" & Chr(34) & ">" & vbCrLf
                MountHtml = MountHtml & "</div>" & vbCrLf
		MountHtml = MountHtml & "</div>" & vbCrLf
		MountHtml = MountHtml
	If strOpc = 3 then
		objIE.Document.Body.InnerHTML = "<div id='t_foot' align='center'>Arquivo processado com sucesso!</div>"
	Else
		objIE.Document.Body.InnerHTML = MountHtml
	End If
		Wrt_HTML.Write "</body>" & vbCrLf
		Wrt_HTML.Write "</html>" & vbCrLf
		Wrt_HTML.Close
		Set Wrt_HTML = Nothing
End Sub

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::      Função inicia Browser      ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Sub Init()
	isValidParameters = False
	sComputer = ""
	sOpt = ""
	sTRel = ""
	sStDx = ""
	sVisible = ""

	Set oArgs = WScript.Arguments
	For x = 0 To oArgs.Count - 1
		nPosicao = Instr(1, oArgs(x), ":", 1)
		If (Trim(Ucase(Left(oArgs(x), nPosicao))) = "/PC:") Then sComputer = Mid(oArgs(x), nPosicao + 1, Len(oArgs(x)))
		If (Trim(sComputer) = "." Or IsEmpty(Trim(sComputer))) Then
			On Error Resume next
			Set oShell = WScript.CreateObject("WScript.Shell")
			' Recupera o nome do PC no Win9x
			sComputer = oShell.RegRead("HKLM\System\CurrentControlSet\Services\VxD\VNETSUP\ComputerName")
			' Recupera o nome do PC no WinXP ou Win2000
			sComputer = oShell.RegRead("HKLM\System\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName")
			Set oShell = Nothing
			On Error goto 0
		End if
		If (Trim(Ucase(Left(oArgs(x), nPosicao))) = "/OPT:") Then sOpt = Mid(oArgs(x), nPosicao + 1, Len(oArgs(x)))
		If (Trim(Ucase(Left(oArgs(x), nPosicao))) = "/REL:") Then sVisible = Mid(oArgs(x), nPosicao + 1, Len(oArgs(x)))
		If (Trim(Ucase(Left(oArgs(x), nPosicao))) = "/TREL:") Then sTRel = Mid(oArgs(x), nPosicao + 1, Len(oArgs(x)))
		If (Trim(Ucase(Left(oArgs(x), nPosicao))) = "/OSDX:") Then sStDx = Mid(oArgs(x), nPosicao + 1, Len(oArgs(x)))
	Next
	If sComputer <> "" AND sOpt <> "" AND sTRel <> "" AND sStDx <> "" AND sVisible <> "" Then isValidParameters = True
	Start_Verify_Pc isValidParameters, sComputer, sOpt, sTRel, sStDx, sVisible
End Sub

Function Start_Verify_Pc(byVal haveParameters, byVal strPC, byVal strOpc, byVal strRel, byVal strSt, byVal strHTML)
	If Not haveParameters Then
		Do
			strPC = InputBox(Var_Msg_1, Var_Soft_Name, Var_StrPC_Name)
			If strPC = "0" Then WScript.Quit(1)
		Loop Until strPC <> ""
		Flag = False
		Do
			strOpc = InputBox(Var_Msg_2, Var_Soft_Name)
			If strOpc = "0" Then
				WScript.Quit(1)
			Else
				If IsNumeric(strOpc) Then
					strOpc = Cint(strOpc)
					If ((strOpc >= 1) AND (strOpc <= 3)) Then
						Flag = True
					End If
				End If
			End If
		Loop Until Flag = True
		Flag = False
		Do
			strRel = InputBox(Var_Msg_3, Var_Soft_Name)
			If strRel = "0" Then
				WScript.Quit(1)
			Else
				If IsNumeric(strRel) Then
					strRel = Cint(strRel)
					If ((strRel >= 1) AND (strRel <= 5)) Then
						Flag = True
					End If
				End If
			End If
		Loop Until Flag = True
		Flag = False
		Do
		 	strSt = InputBox(Var_Msg_4, Var_Soft_Name)
			If strSt = "0" Then
				WScript.Quit(1)
			Else
				If IsNumeric(strSt) Then
					strSt = Cint(strSt)
					If ((strSt => 1) AND (strSt <= 2)) Then
						Flag = True
					End If
				End If
			End If
		Loop Until Flag = True
		Flag = False
		Select Case strHTML
			Case "0": strHTML = False
			Case "1": strHTML = True
			Case Else strHTML = True
		End Select
	End If
	StartIE strRel, strSt, strHTML
	DG_PCInfo strPC, strRel
	DataG_CloseHTML strOpc
	If strOpc > 1 Then
		DataG_CreateFileHTML strPc
	End If
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::    Função Cria Cabeçalho HMTL   ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function HeaderHtml()
		Header_Html = Header_Html & "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & Chr(34) & "iso-8859-1" & Chr(34) & "?>" & vbCrLf
		Header_Html = Header_Html & "<!DOCTYPE html PUBLIC " & Chr(34) & "-//W3C//DTD XHTML 1.0 Frameset//EN" & Chr(34) & " " & Chr(34) & "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" & Chr(34) & ">" & vbCrLf
		Header_Html = Header_Html & "<html xmlns=" & Chr(34) & "http://www.w3.org/1999/xhtml" & Chr(34) & " xml:lang=" & Chr(34) & "pt-br" & Chr(34) & " lang=" & Chr(34) & "pt-br" & Chr(34) & ">" & vbCrLf
		Header_Html = Header_Html & "<head>" & vbCrLf
		Header_Html = Header_Html & "<title>" & Var_Soft_Name & Var_Soft_Version & Var_Soft_Build & "</title>" & vbCrLf
		Header_Html = Header_Html & "<meta http-equiv=" & Chr(34) & "Content-Type" & Chr(34) & " content=" & Chr(34) & "text/html; charset=iso-8859-1" & Chr(34) & "/>" & vbCrLf
		Header_Html = Header_Html & "</head>" & vbCrLf
		Header_Html = Header_Html & "<style type=" & Chr(34) & "text/css" & Chr(34) & ">" & vbCrLf
		Header_Html = Header_Html & "<!--" & vbCrLf
		Header_Html = Header_Html & vbCrLf
		Header_Html = Header_Html & "body" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		font-family: Trebuchet MS;" & vbCrLf
		Header_Html = Header_Html & "		font-size: 11px;" & vbCrLf
		Header_Html = Header_Html & "		color: #000000;" & vbCrLf
		Header_Html = Header_Html & "		background-color: #214D96;" & vbCrLf
	If strDx = True Then
		Header_Html = Header_Html & "		filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#214D96',endColorStr='#2A2556',gradientType='1');" & vbCrLf
	End If
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & "#t_head, #t_foot" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		font-family: Trebuchet MS;" & vbCrLf
		Header_Html = Header_Html & "		font-size: 19px;" & vbCrLf
		Header_Html = Header_Html & "		background-color: #2A2556;" & vbCrLf
		Header_Html = Header_Html & "		color: #ffffff;" & vbCrLf
		Header_Html = Header_Html & "		position: static;" & vbCrLf
		Header_Html = Header_Html & "		top:0px; left:0px;" & vbCrLf
		Header_Html = Header_Html & "		width: 650px;" & vbCrLf
		Header_Html = Header_Html & "		height: 50px;" & vbCrLf
		Header_Html = Header_Html & "		padding: 10 0 0 0;" & vbCrLf
		Header_Html = Header_Html & "		border: 1px;" & vbCrLf
		Header_Html = Header_Html & "		border-left: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		border-right: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		border-top: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		border-bottom: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		text-align: center;" & vbCrLf
		Header_Html = Header_Html & "		cursor: hand;" & vbCrLf
	If strDx = True Then
		Header_Html = Header_Html & "		filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#214D96',endColorStr='#2A2556',gradientType='0');" & vbCrLf
	End If
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & "#l_head" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		font-family: Trebuchet MS;" & vbCrLf
		Header_Html = Header_Html & "		font-size: 11px;" & vbCrLf
		Header_Html = Header_Html & "		background-color: #757781;" & vbCrLf
		Header_Html = Header_Html & "		color: #ffffff;" & vbCrLf
		Header_Html = Header_Html & "		position: static;" & vbCrLf
		Header_Html = Header_Html & "		top:0px; left:0px;" & vbCrLf
		Header_Html = Header_Html & "		width: 650px;" & vbCrLf
		Header_Html = Header_Html & "		height: 15px;" & vbCrLf
		Header_Html = Header_Html & "		padding: 0 0 0 2;" & vbCrLf
		Header_Html = Header_Html & "		border-left: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		border-right: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		border-bottom: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		text-align: left;" & vbCrLf
	If strDx = True Then
		Header_Html = Header_Html & "		filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#757781',endColorStr='#CFD0D4',gradientType='1');" & vbCrLf
	End If
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & "#l_foot" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		font-family: Trebuchet MS;" & vbCrLf
		Header_Html = Header_Html & "		font-size: 11px;" & vbCrLf
		Header_Html = Header_Html & "		background-color: #757781;" & vbCrLf
		Header_Html = Header_Html & "		color: #ffffff;" & vbCrLf
		Header_Html = Header_Html & "		position: static;" & vbCrLf
		Header_Html = Header_Html & "		top:0px; left:0px;" & vbCrLf
		Header_Html = Header_Html & "		width: 650px;" & vbCrLf
		Header_Html = Header_Html & "		height: 15px;" & vbCrLf
		Header_Html = Header_Html & "		padding: 0 0 0 2;" & vbCrLf
		Header_Html = Header_Html & "		border-left: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		border-right: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		border-top: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		text-align: left;" & vbCrLf
	If strDx = True Then
		Header_Html = Header_Html & "		filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#757781',endColorStr='#CFD0D4',gradientType='1');" & vbCrLf
	End If
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & "#t_body" & vbCrLf
		Header_Html = Header_Html & "	 	{" & vbCrLf
		Header_Html = Header_Html & "		font-family: Trebuchet MS;" & vbCrLf
		Header_Html = Header_Html & "		font-size: 11px;" & vbCrLf
		Header_Html = Header_Html & "		background-color: #f5f5f5;" & vbCrLf
		Header_Html = Header_Html & "		color: #214D96;" & vbCrLf
		Header_Html = Header_Html & "		position: static;" & vbCrLf
		Header_Html = Header_Html & "		width: 650px;" & vbCrLf
		Header_Html = Header_Html & "		padding: 0 0 0 0;" & vbCrLf
		Header_Html = Header_Html & "		text-align: center;" & vbCrLf
	If strDx = True Then
		Header_Html = Header_Html & "		filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#F4F4F4',endColorStr='#ffffff',gradientType='1');" & vbCrLf
	End If
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & "#div_t1" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		font-family: Trebuchet MS;" & vbCrLf
		Header_Html = Header_Html & "		font-size: 11px;" & vbCrLf
		Header_Html = Header_Html & "		background-color: #F4F4F4;" & vbCrLf
		Header_Html = Header_Html & "		width: 550px;" & vbCrLf
		Header_Html = Header_Html & "		padding: 2 2 2 2;" & vbCrLf
		Header_Html = Header_Html & "		margin: 0;" & vbCrLf
		Header_Html = Header_Html & "		border: 1px;" & vbCrLf
		Header_Html = Header_Html & "		border-right: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		border-top: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		border-left: gray 1px solid;" & vbCrLf
		Header_Html = Header_Html & "		border-bottom: gray 1px solid;" & vbCrLf
	If strDx = True Then
		Header_Html = Header_Html & "		filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#F4F4F4',endColorStr='#ffffff',gradientType='1');" & vbCrLf
	End If
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & ".h_tmodule" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		font-family: Trebuchet MS;" & vbCrLf
		Header_Html = Header_Html & "		font-size: 18px;" & vbCrLf
		Header_Html = Header_Html & "		text-align: left;" & vbCrLf
		Header_Html = Header_Html & "		background-color: #2A2556;" & vbCrLf
		Header_Html = Header_Html & "		width: 100%;" & vbCrLf
		Header_Html = Header_Html & "		padding: 7 7 7 7;" & vbCrLf
		Header_Html = Header_Html & "		color: #ffffff;" & vbCrLf
		Header_Html = Header_Html & "		position: static;" & vbCrLf
		Header_Html = Header_Html & "		height: 40px;" & vbCrLf
		Header_Html = Header_Html & "		margin-bottom: 0px;" & vbCrLf
	If strDx = True Then
		Header_Html = Header_Html & "		filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#2A2556',endColorStr='#214D96',gradientType='1');" & vbCrLf
	End If
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & "ul" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		margin: 0px;" & vbCrLf
		Header_Html = Header_Html & "		background-color: #F4F4F4;" & vbCrLf
		Header_Html = Header_Html & "		text-align: left;" & vbCrLf
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & ".l_demarc" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		font-family: Trebuchet MS;" & vbCrLf
		Header_Html = Header_Html & "		font-size: 0px;" & vbCrLf
		Header_Html = Header_Html & "		background-color: #2A2556;" & vbCrLf
		Header_Html = Header_Html & "		position: static;" & vbCrLf
		Header_Html = Header_Html & "		width: 100%;" & vbCrLf
		Header_Html = Header_Html & "		margin-top: 1px;" & vbCrLf
		Header_Html = Header_Html & "		margin-bottom: 1px;" & vbCrLf
	If strDx = True Then
		Header_Html = Header_Html & "		filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#2A2556',endColorStr='#214D96',gradientType='1');" & vbCrLf
	End If
		Header_Html = Header_Html & "		}" & vbCrLf

		Header_Html = Header_Html & "li.list_itens" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		display: inline;" & vbCrLf
		Header_Html = Header_Html & "		list-style-type: none;" & vbCrLf
		Header_Html = Header_Html & "		text-align: left;" & vbCrLf
		Header_Html = Header_Html & "		margin: 0px;" & vbCrLf
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & ".li_itens" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		vertical-align: middle;" & vbCrLf
		Header_Html = Header_Html & "		padding: 2 4 2 4;" & vbCrLf
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & ".s_line" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		font-family: Trebuchet MS;" & vbCrLf
		Header_Html = Header_Html & "		font-size: 10px;" & vbCrLf
		Header_Html = Header_Html & "		color: #F4F4F4;" & vbCrLf
		Header_Html = Header_Html & "		background-color: green;" & vbCrLf
		Header_Html = Header_Html & "		height: 20px;" & vbCrLf
		Header_Html = Header_Html & "		margin: 0px;" & vbCrLf
		Header_Html = Header_Html & "		padding: 2 0 0 5;" & vbCrLf
		Header_Html = Header_Html & "		position: static;" & vbCrLf
	If strDx = True Then
		Header_Html = Header_Html & "		filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='green',endColorStr='#ffffff',gradientType='1');" & vbCrLf
	End If
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & ".red" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		color: red;" & vbCrLf
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & ".green" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		color: green;" & vbCrLf
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & ".l_foot" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		font-family: Trebuchet MS;" & vbCrLf
		Header_Html = Header_Html & "		text-align: center;" & vbCrLf
		Header_Html = Header_Html & "		background-color: #2A2556;" & vbCrLf
		Header_Html = Header_Html & "		color: #ffffff;" & vbCrLf
		Header_Html = Header_Html & "		position: static;" & vbCrLf
		Header_Html = Header_Html & "		width: 100%;" & vbCrLf
		Header_Html = Header_Html & "		height: 20px;" & vbCrLf
		Header_Html = Header_Html & "		padding: 5 5 5 5;" & vbCrLf
		Header_Html = Header_Html & "		text-align: left;" & vbCrLf
	If strDx = True Then
		Header_Html = Header_Html & "		filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#2A2556',endColorStr='#214D96',gradientType='1');" & vbCrLf
	End If
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & ".showhide" & vbCrLf
		Header_Html = Header_Html & "		{" & vbCrLf
		Header_Html = Header_Html & "		cursor: hand;" & vbCrLf
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & vbCrLf
		Header_Html = Header_Html & "-->" & vbCrLf
		Header_Html = Header_Html & "</style>" & vbCrLf
		Header_Html = Header_Html & "<body>" & vbCrLf
		Header_Html = Header_Html & "<script language='javascript'>" & vbCrLf
		Header_Html = Header_Html & "<!--" & vbCrLf
		Header_Html = Header_Html & "sAgent = navigator.userAgent;" & vbCrLf
		Header_Html = Header_Html & "bIsMac = sAgent.indexOf('Mac') > -1;" & vbCrLf
		Header_Html = Header_Html & "bIsIE = sAgent.indexOf('MSIE') > -1;" & vbCrLf
		Header_Html = Header_Html & "bIsIE4 = sAgent.indexOf('IE 4') > -1;" & vbCrLf
		Header_Html = Header_Html & "bIsIE5 = sAgent.indexOf('IE 5')  > -1;" & vbCrLf
		Header_Html = Header_Html & "bIsIE6 = sAgent.indexOf('IE 6')  > -1;" & vbCrLf
		Header_Html = Header_Html & "bIsIE7 = sAgent.indexOf('IE 7')  > -1;" & vbCrLf
		Header_Html = Header_Html & "bIsNav = sAgent.indexOf('Mozilla') > -1 && !bIsIE;" & vbCrLf
		Header_Html = Header_Html & "var relat = new Array(43)" & vbCrLf
		Header_Html = Header_Html & "for (z=0;z<=43;z++){" & vbCrLf
 		Header_Html = Header_Html & "relat[z] = z;" & vbCrLf
		Header_Html = Header_Html & "}" & vbCrLf
		Header_Html = Header_Html & "bDoesAll = (bIsIE4 || bIsIE5 || bIsIE6 || bIsIE7) && !bIsMac;" & vbCrLf
		Header_Html = Header_Html & "function Mostra(objItem, objItem2) {" & vbCrLf
		Header_Html = Header_Html & "	if (bDoesAll | bIsMac) {" & vbCrLf
		Header_Html = Header_Html & "		if (objItem.style.display == 'none') {" & vbCrLf
		Header_Html = Header_Html & "			objItem.style.display = '';" & vbCrLf
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & "		else	{" & vbCrLf
		Header_Html = Header_Html & "			objItem.style.display = 'none';" & vbCrLf
		Header_Html = Header_Html & "			}" & vbCrLf
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & "	}" & vbCrLf
		Header_Html = Header_Html & "function Mostra2(objItem) {" & vbCrLf
		Header_Html = Header_Html & "	if (bDoesAll | bIsMac) {" & vbCrLf
		Header_Html = Header_Html & "		if (document.getElementById(objItem).style.display == 'none') {" & vbCrLf
		Header_Html = Header_Html & "			document.getElementById(objItem).style.display = '';" & vbCrLf
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & "		else	{" & vbCrLf
		Header_Html = Header_Html & "			document.getElementById(objItem).style.display = 'none';" & vbCrLf
		Header_Html = Header_Html & "			}" & vbCrLf
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & "	}" & vbCrLf
		Header_Html = Header_Html & "function Mostratudo() {" & vbCrLf
		Header_Html = Header_Html & "	ultimo = " & RelConf  & vbCrLf
		Header_Html = Header_Html & "	if (ultimo == 6) {" & vbCrLf
		Header_Html = Header_Html & "		relat[6] = 34;" & vbCrLf
		Header_Html = Header_Html & "	}" & vbCrLf
		Header_Html = Header_Html & "	if (ultimo == 14) {" & vbCrLf
		Header_Html = Header_Html & "		relat[6] = 35;" & vbCrLf
		Header_Html = Header_Html & "		relat[7] = 36;" & vbCrLf
		Header_Html = Header_Html & "		relat[8] = 37;" & vbCrLf
		Header_Html = Header_Html & "		relat[9] = 38;" & vbCrLf
		Header_Html = Header_Html & "		relat[10] = 39;" & vbCrLf
		Header_Html = Header_Html & "		relat[11] = 40;" & vbCrLf
		Header_Html = Header_Html & "		relat[12] = 41;" & vbCrLf
		Header_Html = Header_Html & "		relat[13] = 42;" & vbCrLf
		Header_Html = Header_Html & "		relat[14] = 43;" & vbCrLf
		Header_Html = Header_Html & "	}" & vbCrLf
		Header_Html = Header_Html & "		for(x=0;x<=ultimo;x++)" & vbCrLf
		Header_Html = Header_Html & "	{" & vbCrLf
		Header_Html = Header_Html & "	if (bDoesAll | bIsMac) {" & vbCrLf
		Header_Html = Header_Html & "		Mostra2('SH_'+relat[x]);" & vbCrLf
		Header_Html = Header_Html & "			}" & vbCrLf
		Header_Html = Header_Html & "		}" & vbCrLf
		Header_Html = Header_Html & "	}" & vbCrLf
		Header_Html = Header_Html & "-->" & vbCrLf
		Header_Html = Header_Html & "</script>" & vbCrLf
		Header_Html = Header_Html & "<script language=" & Chr(34) & "VBScript" & Chr(34) & ">" & vbCrLf
		Header_Html = Header_Html & "	Sub button_2_onclick" & vbCrLf
		Header_Html = Header_Html & "		MsgBox " & Chr(34) & VarMsg_About & Chr(34) & ", VBInformation, " & Chr(34) & Var_Soft_Name & Var_Soft_Version & Var_Soft_Build & Chr(34) & "" & vbCrLf
		Header_Html = Header_Html & "	End Sub" & vbCrLf
		Header_Html = Header_Html & "</script>" & vbCrLf 
		HeaderHtml = Header_Html
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::  Função Formatar Valor Memória  ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function FormatValue(objFormatMem)
	If objFormatMem <> 0 then 
		If CDbl(objFormatMem) < 1024^3 Then 
			If CDbl(objFormatMem) < 1024^2 Then 
				Mem_Divisor = 1024
				Mem_Unit = " KB" 
			Else
				Mem_Divisor = 1024^2 
				Mem_Unit = " MB" 
			End If 
		Else 
			Mem_Divisor = 1024^3 
			Mem_Unit = " GB" 
		End If
		Select Case Mem_Divisor
			Case 1024: FormatValue = FormatNumber(objFormatMem / Mem_Divisor, 0) & Mem_Unit
			Case 1024^2: FormatValue = FormatNumber(objFormatMem / Mem_Divisor, 0) & Mem_Unit
			Case Else FormatValue = FormatNumber(objFormatMem / Mem_Divisor, 1) & Mem_Unit
		End Select
	Else
		FormatValue = "-" 
	End If 
End Function

Function MemValue(VarComplCheck)
	If VarComplCheck <> 0 Then
		If VarComplCheck < 1024 Then
			MemValue = Clng(VarComplCheck) & " KB"
		ElseIf VarComplCheck > 1023 Then
			MemValue = Clng(VarComplCheck /1024) & " MB"
		End If
	Else
		VarComplCheck = "-"
	End If
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::  Função verifica valores nulos  ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function CheckNull(VarForCheck)
	If IsNull(Trim(VarForCheck)) = True Or Trim(VarForCheck) = "" Or Trim(VarForCheck) = " " Then
		CheckNull = "-"
	Else
		CheckNull = VarForCheck
	End If
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::      Função formatar data       ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function FormatDataTime(LeftStr)
	DYear = Left(LeftStr, 4)
	DMonth = Mid(LeftStr, 5, 2)
	DDay = Mid(LeftStr, 7, 2)
	DHour = Mid(LeftStr, 9, 2)
	DMin = Mid(LeftStr, 11, 2)
	DSec = Mid(LeftStr, 13, 2)
	If DYear <> "" AND DMonth <> "" AND DDay <> "" AND DHour = "**" AND DMin = "**" AND DSec = "**" OR DHour = "00" AND DMin = "00" AND DSec = "00" Then
		FormatDataTime = DDay & "/" & DMonth & "/" & DYear
	Else
		If  DYear = "" AND DMonth = "" AND DDay = "" Then
			FormatDataTime = "-"
		Else
			FormatDataTime = DDay & "/" & DMonth & "/" & DYear & " - " & DHour & ":" & DMin & ":" & DSec
		End If
	End If
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::    Função formatar voltagem     ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function FormatVolt(VarVoltCheck)
	If VarVoltCheck <> 0 Then
		FormatVolt = Replace(FormatNumber(VarVoltCheck / 10.0, 2), ",", ".") & " V"
	Else
		FormatVolt = "-"
	End If
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::       Função formatar Bit       ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function FormatBit(VarBitCheck)
	If VarBitCheck <> 0 Then
		FormatBit = VarBitCheck & " Bit"
	End If
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::   Função formatar porcentagem   ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function FormatPerc(VarPercCheck)
	If VarPercCheck => 0 Then
		FormatPerc = VarPercCheck & " %"
	End If
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::      Função formatar Hertz      ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function FormatHz(VarHzCheck)
	If VarHzCheck => 0 Then
		FormatHz = VarHzCheck & " Hz"
	End If
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::     Função formatar Clock       ::
'::				    ::
':::::::::::::::::::::::::::::::::::::

Function FormatClock(VarClockCheck)
	If VarClockCheck >= 1000 Then
		FormatClock = FormatNumber(VarClockCheck / 1000, 2) & " GHz " & "(" & VarClockCheck & " MHz)"
	ElseIf VarClockCheck > 1 AND VarClockCheck < 1000 Then
		FormatClock = VarClockCheck & " MHz"
	ElseIf VarClockCheck = -1 Then
		FormatClock = "-"
	Else
		FormatClock = "-"
	End If
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::      Função Data Auditoria      ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function AudData()
	Date_Time = Date & " às " & Time
	AudData = Date_Time
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::   Função Retorna info value 0   ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function Out_ValZero()
	MountHtml = MountHtml & "<li><span class='li_itens' style='width: 544px;'>" & VarMsg_Err3 & "</span></li>" & vbCrLf
	MountHtml = MountHtml & "<span class='l_demarc'></span>" & vbCrLf
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::     Função Status de serviço    ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function GetStatusService(ChkValue)
	Select Case ChkValue
		Case "Stopped": GetStatusService = "<span class='red'>Parado</span>"
		Case "Running": GetStatusService = "<span class='green'>Iniciado</span>"
	End Select
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::  Funções para o Windows Update  ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function GetNoAU(ChkValue)
	Select Case ChkValue
		Case 0: GetNoAU = "0 - Auto Update habilitado"
		Case 1: GetNoAU = "1 - Auto Update desabilitado"
	End Select
End Function

Function GetUseWSUSServer(ChkValue)
	Select Case ChkValue
		Case 0: GetUseWSUSServer = "0 - Atualizações serão baixadas do <u>windowsupdate.microsoft.com</u>"
		Case 1: GetUseWSUSServer = "1 - Cliente conectará ao WSUS Server"
	End Select
End Function

Function GetAUOpt(ChkValue)
	Select Case ChkValue
		Case 0: GetAUOpt = "0"
		Case 1: GetAUOpt = "1 - Desabilitado na configuração de usuário."
		Case 2: GetAUOpt = "2 - Notifica instalação de updates depois de baixados."
		Case 3: GetAUOpt = "3 - Download automático dos updates, notificação para instalação."
		Case 4: GetAUOpt = "4 - Download automático dos updates com agendamento da instalação."
		Case 5: GetAUOpt = "5 - Baixa automaticamente os updates e instala de acordo com dia e horário agendados."
	End Select
End Function

Function GetAUDay(ChkValue)
	Select Case ChkValue
		Case 0: GetAUDay = "Todo dia"
		Case 1: GetAUDay = "Domingo"
		Case 2: GetAUDay = "Segunda"
		Case 3: GetAUDay = "Terça"
		Case 4: GetAUDay = "Quarta"
		Case 5: GetAUDay = "Quinta"
		Case 6: GetAUDay = "Sexta"
		Case 7: GetAUDay = "Sábado"
	End Select
End Function

Function GetNoAUReboot(ChkValue)
	Select Case ChkValue
		Case 0: GetNoAUReboot = "Desabilitado - Usuários terão 5 minutos de contagem regressiva"
		Case 1: GetNoAUReboot = "Habilitado - Usuários serão notificados para reiniciar o sistema"
		Case Else GetNoAUReboot = "Erro no valor"
	End select
End Function

Function GetReschWaitTime(ChkValue)
	If ChkValue = 0 Then
		GetReschWaitTime = "Desabilitado pelo valor do ajuste: " & ChkValue
	ElseIf ChkValue = 1 Then
		GetReschWaitTime = ChkValue & " minuto(s) - Qualquer instalação não efetuada no horário ocorrerá na inicialização do sistema"
	ElseIf ChkValue > 1 AND ChkValue < 61 Then
		GetReschWaitTime = ChkValue & " minuto(s) - Qualquer instalação não efetuada no horário ocorrerá na inicialização do sistema"
	ElseIf ChkValue = 60 Then
		GetReschWaitTime = "Não configurado"
	End If
End Function

Function GetAUState(ChkValue)
	Select Case ChkValue
		Case 0: GetAUState = "0 - Timeout inicial de 24 horas (AU Wizard em espera)"
		Case 1: GetAUState = "1 - Aguardando usuário executar o AU wizard a partir do System Tray"
		Case 2: GetAUState = "2 - Detecção Pendente"
		Case 3: GetAUState = "3 - Download Pendente (esperando pelo aceite do pre-download)"
		Case 4: GetAUState = "4 - Download em progresso"
		Case 5: GetAUState = "5 - Instalação pendente"
		Case 6: GetAUState = "6 - Instalação completa"
		Case 7: GetAUState = "7 - Desabilitado"
		Case 8: GetAUState = "8 - Reboot pendente (Reboot foi descartado)"
	End select
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::  Funções Checa chave e valores  ::
'::           de registro           ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function RegValueExists(KeyValue, RegValue)
	KeyValue = Trim(KeyValue)
	RegValue = LCase(Trim(RegValue))
	RegValueExists = False
	If objReg.EnumValues(HKEY_LOCAL_MACHINE, KeyValue, aValueNames, aValueTypes) = 0 Then
		If Not IsNull(aValueNames) Then
			For i = 0 To UBound(aValueNames)
				If LCase(aValueNames(i)) = RegValue Then
					RegValueExists = True
				End If
			Next
		End If
	End If
End Function

Function CheckRegKey(KeyValue)
	KeyValue = Trim(KeyValue)
	If objReg.EnumValues(HKEY_LOCAL_MACHINE, KeyValue, aValueNames, aValueTypes) = 0 Then
		RegKeyExists = True
	Else
		RegKeyExists = False
	End If
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::  Função de Tratamento de Erro   ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Function Trat_Err()
	If Err.Number <> 0 Then
		Select Case Err.Number
			Case 462: MsgBox_Error = VarMsg_Err4
			Case Else MsgBox_Error = VarMsg_Err5
		End Select
	MsgBox MsgBox_Error & vbCrLf &_
		"Nº do erro: " & Err.Number & "." & vbCrLf &_
		"Descrição: " & Err.Description & ".", 16, "Alerta de Erro!"
		ObjIE.Quit
		WScript.Quit
		Err.Clear
	End If
End Function

':::::::::::::::::::::::::::::::::::::
'::				    ::
'::   Função Cria Relatório HTML    ::
'::				    ::
':::::::::::::::::::::::::::::::::::::
Sub DataG_CreateFileHTML(byVal strPc)
	Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strPC & "\root\cimv2")
	strProperties = "Name"
	objClass = "Win32_ComputerSystem"
	strQuery = "SELECT " & strProperties & " FROM " & objClass
	Set colPC = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
		For Each objItem in colPC
			Host_name = objItem.Name
			Date_Time = Replace(Date, "/", "-") & "~" & Replace(Time,":", "-")
			htmlRel = UCase(Host_name & "-" & Date_Time & ".html")

			Set objFileSys = CreateObject("Scripting.FileSystemObject")
			Set objFH = objFileSys.CreateTextFile(htmlRel)
			objFH.WriteLine HeaderHtml()
			objFH.WriteLine MountHtml
			objFH.WriteLine "</body>" & vbCrLf
			objFH.WriteLine "</html>"
			objFH.close
			Set oFileSys = Nothing
			Set objFH = Nothing
			wScript.Quit
		Next
End Sub

':::::::::::::::::::::::::::::::::::::
	Init()		            ::
':::::::::::::::::::::::::::::::::::::
