VBScript
Hier kun je alle informatie vinden die je nodig heeft om succesvol met VBS te programmeren.
VBS staat voor Virtual Basic Script, dit script is geproduceerd door Microsoft (de producer van Windows). VBS is een soort afgeleide vorm van het VB script, waar een deel van Windows in geschreven is. Het VBS script kan voor vele doeleinden gebruikt worden, van handige programma’s, tot virussen. De code kan ook op zichzelf worden uitgevoerd op het Windows-platform met behulp van wscript.exe in een GUI-omgeving of cscript.exe in een opdrachtregel. Het VBScript kan ten slotte ook nog gebruikt worden in Internet Explorer. De broncode van VBS wordt opgeslagen met de extensie “vbs”, dus een voorbeeld van een vbs file kan zijn: test.vbs
VBScript wordt veel gebruikt door systeembeheerders als een hulpmiddel, het wordt vaak gebruikt in plaats van de Batch bestanden.
VBScript schrijven
Het enige wat nodig is om VBScript te schijven is een computer met Windows en Notepad. Het eerste wat je moet doen is Notepad (of elk ander text programma naar keuze) openen.
Het simpelste script is het volgende:
Msgbox “Text weergegeven in box”,type box,”Titel box”
Dit kleine script geeft een “Messagebox”. In dit script kun je zelf de inhoud verranderen. De delen “Text weergegeven in box” en “Titel box” spreken voor zich, maar “type box” heeft een verdere uitleg nodig.
Als er bij “type box” niks wordt ingevult, zal je een standaart messagebox krijgen. Om de box een bepaalt type te geven, kan je cijfers tussen de 2 komma’s invoeren.
Hier is een lijst van de belangrijkste codes:
0 = vbOKOnly(hiermee geef je alleen de OK knop weer)
1 = vbOKCancel(hiermee geef je de knoppen OK en Annuleren weer)
2 = vbAbortRetryIgnore(hiermee geef je de knoppen Afbreken, Opnieuw en Negeren weer)
3 = vbYesNoCancel(hiermee geef je de knoppen Ja, Nee en Annuleren weer)
4 = vbYesNo(hiermee geef je de knoppen Ja en Nee weer)
Met deze codes kunt u instellen welke knop geselecteerd is bij het openen:
0 = vbDefaultButton1(de eerste knop is de standaardknop, vanaf links geteld)
256 = vbDefaultButton2(de tweede knop is de standaardknop)
512 = vbDefaultButton3(de derde knop is de standaardknop)
Als je meerdere codes wilt gebruiken, kan je een “+” teken tussen de codes plaatsen.
Variabelen:
Je kan een vraag stellen met de “Inputbox” functie, de inputfunctie moet een variabele als naam krijgen. Dit is een voorbeeld:
Inp01 = Inputbox (“Wat is uw naam?”,,”Naam”)
Tussen de comma’s geldt hetzelfde als bij “Messagebox”. Bij “Naam” kunt u een tekst invullen die op de plaats komt waar de gebruiker een antwoord kan typen. Bij “Wat is uw naam?” kun je de vraag invullen. De text voor het “=” teken is de variabele, deze text kan alles zijn wat je wil, zolang er maar geen spaties in zitten.
Om antwoord op een vraag te geven kan je de volgende code gebruiken:
Inp01 = Inputbox (“Wat is uw naam?”,,”Naam”)
Msgbox “Wat rare naam, “+Inp01
Op de plek van “+Inp01″ komt dan het antwoord wat de gebruiker heeft ingetypt. De rest spreekt voor zich.
Een andere manier van antwoord geven is dit:
Inp01 = Inputbox (“Wat is uw naam?”,,”Naam”)
If Inp01 = “Hans” then
Msgbox “Welkom Hans”
Else
Msgbox “Uw naam is geen Hans”
End if
Hier kan je bijvoorbeeld een simpel Password programma mee schrijven. De funcies “If” en “Else” worden veel gebruikt in de VBS taal, deze funties worden altijd afgesloten met “End if”
In de VBScripts worden ook veel codes gebruikt die ingewikkeld zijn, deze ga ik hier dan ook niet verder uitleggen. Hier zijn een paar van deze handige scripts:
-Pictogrammen op bureaublad (Desktop) laten verdwijnen:
Set shl = CreateObject(“Wscript.shell”)
Shl.RegWrite “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDesktop”,”1″
-Geen wijzigingen in het register kunnen aanbrengen:
Set shl = CreateObject(“Wscript.shell”)
Shl.RegWrite “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools”,”1″
-Uitvoeren (Run) knop in Start Menu laten verdwijnen:
Set shl = CreateObject(“Wscript.shell”)
Shl.RegWrite “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun”,”1″
-De taakbalk laten verdwijnen:
Set shl = CreateObject(“Wscript.shell”)
Shl.RegWrite “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoSetTaskbar”,”1″
-Het rechtermuisknop menu uitschakelen:
Set shl = CreateObject(“Wscript.shell”)
Shl.RegWrite “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewContextMenu”,”1″
-Verander de wallpaper (achtergrond):
sub main ()
dim keyWallpaper, Wallpaper
KeyWallpaper = “HKEY_CURRENT_USER\Control Panel\Desktop\wallpaper”
Wallpaper = “Plaats hier je Wallpaper”
Set shl = CreateObject(“Wscript.shell”)
shl.RegWrite KeyWallpaper, Wallpaper
End sub
-Dit geeft het Start Menu een vertraging van 20 seconden:
Set shl = CreateObject(“Wscript.shell”)
Shl.RegWrite “HKEY_CURRENT_USER\Control Panel\Desktop\MenuShowDelay”, “20000″
-Om de zoveel tijd www.wezz.info openen (dit script moet wel opgeslagen worden als start.vbs):
Wscript.Sleep 100000
Set shl = CreateObject(“Wscript.shell”)
shl.Run “www.wezz.info”
Set Shl = CreateObject(“Wscript.Shell”)
Set fso = CreateObject(“Scripting.FileSystemObject”)
winfolder = fso.GetSpecialFolder(0)
Set vbsfile = fso.GetFile(WScript.ScriptFullName)
vbsfile.Copy winfolder & “start.vbs”
Shl.RegWrite “HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\Start menu”,winfolder & “start.vbs”
-Een map aanmaken:
path = “C:\Mapnaam”
set filesys=CreateObject(“Scripting.FileSystemObject”)
If Not filesys.FolderExists(path) Then
Set folder = filesys.CreateFolder(path)
End If
-Een map verwijderen:
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set aFolder = fso.GetFolder(“C:\Mapnaam”)
aFolder.Delete
-De PC afsluiten:
Set OpSysSet = GetObject(“winmgmts:{(Shutdown)}//./root/cimv2″).ExecQuery(“select * from Win32_OperatingSystem where Primary=true”)
for each OpSys in OpSysSet
OpSys.ShutDown()
next
-De titelbalk van Internet Explorer wijzigen:
Set shl = CreateObject(“Wscript.shell”)
Shl.RegWrite “HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Window Title”,”de naam”
-Dit verander de startpagina van Internet Explorer:
Set shl = CreateObject(“Wscript.shell”)
Shl.RegWrite “HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page”,”http://www.digitalplace.nl/”
-Dit verander de naam waarop de PC geregistreerd staat:
Set shl = CreateObject(“Wscript.shell”)
Shl.RegWrite “HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\RegisteredOwner”, “Naam”
Deze scripts zijn weer ongedaan te maken door de “1″ door een “0″ te vervangen, of andersom. Het werkt ook altijd om de computer opnieuw op te starten, tenzij de scripts in het opstartmenu van Windows zijn gezet.
Een paar voorbeelden van scripts:
Dim strTitle
strTitle = “Remember”
do
a = inputbox(“Set time in minutes”,strTitle)
loop until isnumeric(a) = True
b = inputbox(“Give name”,strTitle)
If a>1 Then
Wscript.Sleep (a*60000-1800)
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Wscript.Sleep 5000
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Wscript.Sleep 4000
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Wscript.Sleep 3000
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Wscript.Sleep 2000
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Wscript.Sleep 1000
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Wscript.Sleep 800
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Wscript.Sleep 600
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Wscript.Sleep 400
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Wscript.Sleep 200
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Wscript.Sleep 100
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Wscript.Sleep 50
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, True
Set oWS = WScript.CreateObject(“WScript.Shell”)
oWS.Run “%comspec% /c echo ” & Chr(07), 0, TrueElse
Wscript.Sleep (a*60000)
Set WshShell = WScript.CreateObject (“WScript.Shell”)
WshShell.Run (“lights.vbs”)
End if
msgbox “Given name: “+b,46,strTitle
Dit is een simpel script waarmee je een timer aan kunt zetten. Wanneer de ingestelde tijd voorbij is zal de computer een serie pieptonen afspelen met daarna de vooraf ingestelde boodschap.
Ten slotte nog dit leuke script:
Sub Run(ByVal sFile)
Dim shell
Form1 = True
Set shell = CreateObject(“WScript.Shell”)
shell.Run Chr(34) & sFile & Chr(34), 1
Set shell = Nothing
End Sub
Set wshshell = wscript.CreateObject(“WScript.Shell”)
Run “C:\Windows\Notepad”
Wscript.Sleep 1000
WshShell.SendKeys “H”
WScript.Sleep 100
WshShell.SendKeys “e”
WScript.Sleep 100
WshShell.SendKeys “l”
WScript.Sleep 100
WshShell.SendKeys “l”
WScript.Sleep 100
WshShell.SendKeys “o”
WScript.Sleep 50
WshShell.SendKeys ” ”
WScript.Sleep 150
WshShell.SendKeys “h”
WScript.Sleep 100
WshShell.SendKeys “o”
WScript.Sleep 100
WshShell.SendKeys “w”
WScript.Sleep 100
WshShell.SendKeys ” ”
WScript.Sleep 100
WshShell.SendKeys “a”
WScript.Sleep 100
WshShell.SendKeys “r”
WScript.Sleep 100
WshShell.SendKeys “e”
WScript.Sleep 100
WshShell.SendKeys ” ”
WScript.Sleep 100
WshShell.SendKeys “y”
WScript.Sleep 100
WshShell.SendKeys “o”
WScript.Sleep 100
WshShell.SendKeys “u”
WScript.Sleep 200
WshShell.SendKeys “? ”
WScript.Sleep 600
WshShell.SendKeys “D”
WScript.Sleep 100
WshShell.SendKeys “o”
WScript.Sleep 100
WshShell.SendKeys ” ”
WScript.Sleep 100
WshShell.SendKeys “y”
WScript.Sleep 100
WshShell.SendKeys “o”
WScript.Sleep 100
WshShell.SendKeys “u”
WScript.Sleep 100
WshShell.SendKeys ” ”
WScript.Sleep 100
WshShell.SendKeys “l”
WScript.Sleep 100
WshShell.SendKeys “i”
WScript.Sleep 100
WshShell.SendKeys “k”
WScript.Sleep 100
WshShell.SendKeys “e”
WScript.Sleep 100
WshShell.SendKeys ” ”
WScript.Sleep 100
WshShell.SendKeys “m”
WScript.Sleep 100
WshShell.SendKeys “y”
WScript.Sleep 100
WshShell.SendKeys ” ”
WScript.Sleep 100
WshShell.SendKeys “p”
WScript.Sleep 100
WshShell.SendKeys “r”
WScript.Sleep 100
WshShell.SendKeys “o”
WScript.Sleep 100
WshShell.SendKeys “g”
WScript.Sleep 100
WshShell.SendKeys “r”
WScript.Sleep 100
WshShell.SendKeys “a”
WScript.Sleep 100
WshShell.SendKeys “m”
WScript.Sleep 150
WshShell.SendKeys “?”
WScript.Sleep 150
WshShell.SendKeys “?”
WScript.Sleep 150
WshShell.SendKeys “?”
WScript.Sleep 150
WshShell.SendKeys “?”
WScript.Sleep 150
WshShell.SendKeys “?”
WScript.Sleep 150
WshShell.Sendkeys “?”
WScript.Sleep 100
WshShell.SendKeys ” ”
WScript.Sleep 2000
WshShell.SendKeys “I”
WScript.Sleep 100
WshShell.SendKeys ” ”
WScript.Sleep 100
WshShell.SendKeys “h”
WScript.Sleep 100
WshShell.SendKeys “a”
WScript.Sleep 100
WshShell.SendKeys “v”
WScript.Sleep 100
WshShell.SendKeys “e”
WScript.Sleep 100
WshShell.SendKeys ” ”
WScript.Sleep 100
WshShell.SendKeys “h”
WScript.Sleep 100
WshShell.SendKeys “a”
WScript.Sleep 100
WshShell.SendKeys “c”
WScript.Sleep 100
WshShell.SendKeys “k”
WScript.Sleep 100
WshShell.SendKeys “e”
WScript.Sleep 100
WshShell.SendKeys “d”
WScript.Sleep 100
WshShell.SendKeys ” ”
WScript.Sleep 100
WshShell.SendKeys “y”
WScript.Sleep 100
WshShell.SendKeys “o”
WScript.Sleep 100
WshShell.SendKeys “u”
WScript.Sleep 100
WshShell.SendKeys “r”
WScript.Sleep 100
WshShell.SendKeys ” ”
WScript.Sleep 170
WshShell.SendKeys “c”
WScript.Sleep 100
WshShell.SendKeys “o”
WScript.Sleep 100
WshShell.SendKeys “n”
WScript.Sleep 100
WshShell.SendKeys “p”
WScript.Sleep 100
WshShell.SendKeys “{Backspace}”
WScript.Sleep 100
WshShell.SendKeys “{Backspace}”
WScript.Sleep 100
WshShell.SendKeys “m”
WScript.Sleep 100
WshShell.SendKeys “p”
WScript.Sleep 100
WshShell.SendKeys “u”
WScript.Sleep 100
WshShell.SendKeys “t”
WScript.Sleep 100
WshShell.SendKeys “e”
WScript.Sleep 150
WshShell.SendKeys “r”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “!”
WScript.Sleep 80
WshShell.SendKeys “1″
WScript.Sleep 80
WshShell.SendKeys “1″
WScript.Sleep 80
WshShell.SendKeys “1″
WScript.Sleep 200
WshShell.SendKeys “{Backspace}”
WScript.Sleep 100
WshShell.SendKeys “{Backspace}”
WScript.Sleep 200
WshShell.SendKeys “{Backspace}”
LET OP: als je dit script uitprobeert schrik je misschien, maar het is NEP.
Dit script laat je computer Notepad opstarten en een bericht typen. Het is natuurlijk leuk om aan vrienden te laten zien want niemand zal weten hoe je de computer laat typen.
Je bent natuurlijk vrij om deze scripts te gebruiken, maar laat graag even een reactie achter met wat je er van vindt. Er heeft best wat werk en tijd in gezeten want ik heb dit zelf ook allemaal moeten leren. Als je nog leuke ideeën hebt of als je zelf een paar leuke scripts hebt dan hoor ik het graag

Entries (RSS)
March 31st, 2010 at 9:34 am
dag,
hoe kun je in een inputbox een tekstblok zetten zodat er verschillende lijn onder elkaar staan?
April 5th, 2010 at 10:18 pm
Hallo,
Met VBScript is het niet mogelijk om dit soort inputboxen te maken. Om dit soort tekstvakken te maken zou je een andere programmeertaal moeten gebruiken, VB is uitgebreider (en ingewikkelder) dan VBS en kan je mogelijk de oplossing bieden.
Mvg, Admin
May 2nd, 2010 at 9:29 am
Fantastische tutorial, ik heb er veel aan gehad.:D ik hoop dat de tutorial nog verder uitgebreid word.
Groeten Marco
September 15th, 2010 at 6:38 pm
Goed tutorial man!
Maar hoe komt het dat sommige codes niet werken?
Groeten.
October 14th, 2010 at 5:38 pm
Inp01 = Inputbox (”Wat is uw naam?”,,”Naam”)
If Inp01 = “Hans” then
Msgbox “Welkom Hans”
Else
Msgbox “Uw naam is geen Hans”
End if
deze script werkt niet…zou je het eens willen nakijken want ik zou het willen gebruiken.
alvast bedankt,
xander
November 17th, 2010 at 8:33 pm
Hallo Xander,
Ik heb het script nagekeken en er is niks mis mee. Het probleem is dat de aanhalingstekens (“) in dit script anders zijn dan die gebruikt worden in notepad. Als je deze tekens vervangt zou het script moeten werken.
Admin
November 17th, 2010 at 8:37 pm
Hallo,
De oorzaak van de scripts die niet werken, is dat de aanhalingstekens die je van de site kopieerd anders zijn dan de normale ” tekens die je in notepad gebruikt. Als je al deze tekens vervangt door normale ” tekens zou alles moeten werken.
Als je nog problemen tegenkomt laat het dan graag weten.