Voor het programma PDFSam moest ik een installer script schrijven, het enige die nog moest gebeuren is de taal kiezen en op enter drukken. Omdat de taal standaard goed staat (Dutch), moest er enkel nog een druk op de enter toets worden gesimuleerd. Dit is de code om de installatie silent te laten verlopen:
Option Explicit
Dim objShell
Set objShell = CreateObject(“Wscript.Shell”)
objShell.Run “””pdfsam-win-v2_2_1.exe”” /S”
WScript.Sleep 1500
objShell.SendKeys “{ENTER}”
WScript.Quit
Voor de software DWG Trueview is de silent installer schrijven veel complexer:
eerst moet de .exe file gestart worden, hoe lang het duurt voor deze start is afhankelijk van computer tot computer. Omdat het script niet zou verder lopen als de .exe nog niet gestart is, heb ik wat extra code moeten bedenken om dit op te vangen:
Do
count = count + 1
if WshShell.AppActivate("DWG TrueView 2012") Then Exit Do
WScript.Sleep 1500
if(count > 10) Then Exit Do
Loop
In dit geval wordt er geprobeerd te focussen op het scherm die gestart wordt door de .exe file: WshShell.AppActivate(""). Elke 1.5 seconden wordt dit opnieuw geprobeerd en om niet in een oneindige lus te geraken, wordt deze voorwaarde slechts getest 15 seconden lang.
Daarna moet ik van pagina naar pagina gaan en de verschillende opties aanvinken. Momenteel ben ik er in geslaagd deze installatie te doen door de tab-, pijltjes- en entertoets te simuleren, maar omdat het aantal seconden dat moet gewacht worden tussen de verschillende acties verschilt tussen snelle en trage computers, staat deze code nog niet op punt.
Geen opmerkingen:
Een reactie posten