Usuário com melhor resposta
Script VBS com checkbox

Pergunta
-
Boa noite!
Gostaria de saber se tem como fazer um script em vbs com checkbox, por exemplo esse script abaixo:
intOpcao = msgbox("Desativa RDPCLIP", vbYesNo, "Administrador")
if intOpcao = vbNo then
msgbox "RDPCLIP nao foi desativado", ,"Resultado"
else
msgbox "RDPCLIP desativado sucesso", ,"Resultado"
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\StartupPrograms", "" ,"REG_SZ"
end if
intOpcao = msgbox("Desativa audio do Windows", vbYesNo, "Administrador")
if intOpcao = vbNo then
msgbox "Audio nao foi desativado", ,"Resultado"
else
msgbox "Audio desativado com sucesso", ,"Resultado"
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AudioSrv\Start",4 ,"REG_DWORD"
end if
Quando eu executo ele, abre as janelas solicitando a confirmação do usuário, no caso esse script é bem maior, então queria ver se tem como , quando eu executar o mesmo abrir uma janela com todos os serviços que preciso, para selecionar e executar o mesmo.
Desde já agradeço a atenção de todos.
Respostas
-
Olá,
Faz o script em HTA.
Dá uma olhada no exemplo abaixo:
<html>
<head>
<title>DHCP X IP FIXO</title>
<HTA:APPLICATION
ID="IPDHCP"
APPLICATIONNAME="DHCPOUIP"
SingleInstance="Yes"
WindowsState="Normal"
Scroll="No"
Navigable="Yes"
MaximizeButton="No"
SysMenu="Yes"
Caption="Yes"
>
</head><SCRIPT LANGUAGE="VBScript">
Sub Window_Onload
'CONFIGURACOES DA TELA
'# Size Window
sHorizontal = 360
sVertical = 135
Window.resizeTo sHorizontal, sVertical
'# Get Monitor Details
Set objWMIService = GetObject _
("winmgmts:root\cimv2")
intHorizontal = sHorizontal *2
intVertical = sVertical *2
Set colItems = objWMIService.ExecQuery( _
"Select ScreenWidth, ScreenHeight from" _
& " Win32_DesktopMonitor", , 48)
For Each objItem In colItems
sWidth= objItem.ScreenWidth
sHeight = objItem.ScreenHeight
If sWidth > sHorizontal _
then intHorizontal = sWidth
If sHeight > sVertical _
then intVertical = sHeight
Next
Set objWMIService = Nothing
'# Center window on the screen
intLeft = (intHorizontal - sHorizontal) /2
intTop = (intVertical - sVertical) /2
Window.moveTo intLeft, intTop
'# default window content
window.location.href="#Top"
End SubSub Executar
For Each objButton in RadioOption
If objButton.Checked Then
if objButton.Value = "01" then
habilitadhcp
else
ipfixo
End if
'Msgbox "You selected " & objButton.Value & "."
End If
NextEnd sub
Sub habilitadhcpstrComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")For Each objNetAdapter In colNetAdapters
errEnable = objNetAdapter.EnableDHCP()
errEnable = objNetAdapter.SetDNSServerSearchOrder()
errEnable = objNetAdapter.SetDynamicDNSRegistration
Next
msgbox "DHCP HABILITADO"Set oShell = Nothing
Set objNetwork = Nothing
Self.Close()End sub
Sub ipfixo
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")strIPAddress = Array("192.168.1.141")
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.1.100")
arrDNSServers = Array("192.168.1.100", "192.168.1.200")
strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)
Nextmsgbox "IP FIXO HABILITADO"
Set oShell = Nothing
Set objNetwork = Nothing
Self.Close()End sub
Sub CancelarSet oShell = Nothing
Set objNetwork = Nothing
Self.Close()End sub
</SCRIPT>
<BODY STYLE="font:14 pt arial; color:white; filter:progid:DXImageTransform.Microsoft.Gradient( GradientType=1, StartColorStr='#000000', EndColorStr='#0000FF')">
<a name="Top"></a><CENTER><input type="radio" name="RadioOption" value="01">DHCP<BR>
<input type="radio" name="RadioOption" value="02">FIXO<BR>
<input id=runbutton class="button" type="button" value="Executar" name="executar" onClick="Executar">
<input id=runbutton class="button" type="button" value="Cancelar" name="Cancelar" onClick="Cancelar">
</center>
</body>
Salve com a extensão .HTA e execute.
Esse script está alterando de DHCP para ip fixo e de fixo para DHCP.
Você pode fazer de acordo com a sua necessidade.
Até mais,
Jesiel
Obs.: Se útil, classifique- Marcado como Resposta Klebinhu Ramos quinta-feira, 17 de setembro de 2009 23:03
Todas as Respostas
-
Olá,
Faz o script em HTA.
Dá uma olhada no exemplo abaixo:
<html>
<head>
<title>DHCP X IP FIXO</title>
<HTA:APPLICATION
ID="IPDHCP"
APPLICATIONNAME="DHCPOUIP"
SingleInstance="Yes"
WindowsState="Normal"
Scroll="No"
Navigable="Yes"
MaximizeButton="No"
SysMenu="Yes"
Caption="Yes"
>
</head><SCRIPT LANGUAGE="VBScript">
Sub Window_Onload
'CONFIGURACOES DA TELA
'# Size Window
sHorizontal = 360
sVertical = 135
Window.resizeTo sHorizontal, sVertical
'# Get Monitor Details
Set objWMIService = GetObject _
("winmgmts:root\cimv2")
intHorizontal = sHorizontal *2
intVertical = sVertical *2
Set colItems = objWMIService.ExecQuery( _
"Select ScreenWidth, ScreenHeight from" _
& " Win32_DesktopMonitor", , 48)
For Each objItem In colItems
sWidth= objItem.ScreenWidth
sHeight = objItem.ScreenHeight
If sWidth > sHorizontal _
then intHorizontal = sWidth
If sHeight > sVertical _
then intVertical = sHeight
Next
Set objWMIService = Nothing
'# Center window on the screen
intLeft = (intHorizontal - sHorizontal) /2
intTop = (intVertical - sVertical) /2
Window.moveTo intLeft, intTop
'# default window content
window.location.href="#Top"
End SubSub Executar
For Each objButton in RadioOption
If objButton.Checked Then
if objButton.Value = "01" then
habilitadhcp
else
ipfixo
End if
'Msgbox "You selected " & objButton.Value & "."
End If
NextEnd sub
Sub habilitadhcpstrComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")For Each objNetAdapter In colNetAdapters
errEnable = objNetAdapter.EnableDHCP()
errEnable = objNetAdapter.SetDNSServerSearchOrder()
errEnable = objNetAdapter.SetDynamicDNSRegistration
Next
msgbox "DHCP HABILITADO"Set oShell = Nothing
Set objNetwork = Nothing
Self.Close()End sub
Sub ipfixo
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")strIPAddress = Array("192.168.1.141")
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.1.100")
arrDNSServers = Array("192.168.1.100", "192.168.1.200")
strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)
Nextmsgbox "IP FIXO HABILITADO"
Set oShell = Nothing
Set objNetwork = Nothing
Self.Close()End sub
Sub CancelarSet oShell = Nothing
Set objNetwork = Nothing
Self.Close()End sub
</SCRIPT>
<BODY STYLE="font:14 pt arial; color:white; filter:progid:DXImageTransform.Microsoft.Gradient( GradientType=1, StartColorStr='#000000', EndColorStr='#0000FF')">
<a name="Top"></a><CENTER><input type="radio" name="RadioOption" value="01">DHCP<BR>
<input type="radio" name="RadioOption" value="02">FIXO<BR>
<input id=runbutton class="button" type="button" value="Executar" name="executar" onClick="Executar">
<input id=runbutton class="button" type="button" value="Cancelar" name="Cancelar" onClick="Cancelar">
</center>
</body>
Salve com a extensão .HTA e execute.
Esse script está alterando de DHCP para ip fixo e de fixo para DHCP.
Você pode fazer de acordo com a sua necessidade.
Até mais,
Jesiel
Obs.: Se útil, classifique- Marcado como Resposta Klebinhu Ramos quinta-feira, 17 de setembro de 2009 23:03
-