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, True

Else
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 :-)



7 Responses to “VBScript”

  1.   peter Says:

    dag,
    hoe kun je in een inputbox een tekstblok zetten zodat er verschillende lijn onder elkaar staan?

  2.   admin Says:

    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

  3.   Marco Says:

    Fantastische tutorial, ik heb er veel aan gehad.:D ik hoop dat de tutorial nog verder uitgebreid word.

    Groeten Marco

  4.   A.Noniem Says:

    Goed tutorial man!
    Maar hoe komt het dat sommige codes niet werken?

    Groeten.

  5.   xander Says:

    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

  6.   admin Says:

    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

  7.   admin Says:

    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.

Leave a Reply

Privacy Policy Information collected such as e-mail address will be used only as means for authentication. It will not be disclosed to third parties. We can not be held responsible in cases where information is harvested by crackers. We use third-party advertising companies to serve ads when you visit our website. These companies may use information (not including your name, address, email address, or telephone number) about your visits to this and other websites in order to provide advertisements about goods and services of interest to you. If you would like more information about this practice and to know your choices about not having this information used by these companies, Google Ads