function alert(arg) {WScript.Echo(arg)}
alert ("Hello World!")
<job id="IncludeExample">
<script language="JScript" src="lib_fso.js"/>
<script language="JScript">
// Appel d'une fonction de la librairie lib_fso.js
</script>
s = GetFreeSpace("c:")
WScript.Echo(s)
</job>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="Gestion de PGT"
BORDER="yes"
CAPTION="yes"
ICON="../charte/favicon.ico"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="yes"
SYSMENU="yes"
WINDOWSTATE="maximize">
On peut aussi appeler une page HTML dans le HTA par <IFRAME src="index.htm" application=yes width="100%" height=100%> sysMenu: boutons, Minimizer et Maximizer. border="none" : pas même de barre de titre scroll="no" : pas de barre de défilement. ID: permet d'appeler les éléments comme variable: par ex oHTA.windowState (mais aussi oHTA.commandLine = PATH du .hta) icon: Vous pouvez donner le nom d'une applicationdu dossier Windows. Exemple : ICON="regedit.exe", ou ICON="notepad.exe", ICON="system32/winchat.exe", ou encore ICON="winhelp.exe" On peut aussi utiliser le protocole "res:" pour utiliser une ressource dll (exemple: ICON="res://C:\Documents and Settings\All Users\Dossier\madll.dll/monicone.ico"). NAVIGABLE="Yes" : par défaut, peut être source d'insécurité.
intButton = object.Popup(strText,[nSecondsToWait],[strTitle],[nType]) var WshShell = new ActiveXObject("WScript.Shell"); var BtnCode = WshShell.Popup("ça va?", 7, "Bienvenue", 3 + 32); function alert(chaine) {WScript.Echo(chaine)} function confirm(question) { var WshShell = new ActiveXObject("WScript.Shell"); var BtnCode = WshShell.Popup(question, 10, "Confirmation", 1 + 32); if (BtnCode==1) return true; else return false; }
//Sortir par ^C var stdin = WScript.StdIn; var stdout = WScript.StdOut; while (! stdin.AtEndOfStream) { Line = stdin.ReadLine() stdout.WriteLine (Line.toUpperCase()) }Remarque, on peut éviter la lecture ligne par ligne avec:
input = stdin.ReadAll()
Appel par: cscript //nologo filtre_test.js <monFlot
args = WScript.Arguments; WScript.Echo(args.length); for (var i=0;i<args.length ;i++) { WScript.Echo (WScript.Arguments.Unnamed(i)) }
var fso = new ActiveXObject("Scripting.FileSystemObject"); function sauver(p_nomFichier,p_contenu) { var a = fso.OpenTextFile(p_nomFichier,2 ,true); //1=r,2=w,8=a -1=UCS //true: écraser a.WriteLine(p_contenu); a.Close(); } function charger(p_nomFichier) { var a = fso.OpenTextFile(p_nomFichier,1,false); retour=a.ReadAll(); a.Close(); return retour; } function renommerHtml(p_repertoire) { fso.CopyFile (p_repertoire+"*.html", p_repertoire+"*.htm"); } function renommerPhp3(p_repertoire) { fso.CopyFile (p_repertoire+"*.php3", p_repertoire+"*.php"); }
Word = new ActiveXObject("Word.Application");
On a alors accès aux propriétés et méthodes de cet objet ActiveX.
La liste des classes d'un ActiveX avec leurs méthodes et propriétés est définie dans un .TLB ou un .OLB (ou .DLL)
On peut les parcourir avec l'explorateur d'objets de visual Basic fourni avec les macros Word.
Outils/Références.
Tous les TLB sont enregistrés sous leur CLSID dans la base de registre (HKCR/Typelib)
var WshShell = new ActiveXObject("WScript.Shell"); WshShell.Run("calc",1); //2ème argument optionnel avec valeur 1 = activer //WshShell.AppActivate("Calculator"); WScript.Sleep(200); WshShell.SendKeys ("1{+}"); //{} pour entourer caractère spécial WScript.Sleep(500); WshShell.SendKeys("2"); WScript.Sleep(500); WshShell.SendKeys("~"); // Touche "Entrée" //Combinaisons: entourer par () //SHIFT: + ,CTRL: ^ ,ALT: % , ENTER: ~ // {UP} {F12} {ESC},..
// Ouvre le script courant dans Notepad var WshShell = new ActiveXObject("WScript.Shell"); WshShell.Run("%windir%\\notepad " + WScript.ScriptFullName,1); WScript.Sleep(200); WshShell.SendKeys ("^{END}~// (+s)alut~^f"); //Ajoute une ligne à la fin et ouvre boite de dialogue rechercher
Autre exemple:
var WshShell = new ActiveXObject("WScript.Shell"); var oExec = WshShell.Exec("calc"); while (oExec.Status == 0) { WScript.Sleep(100); } WScript.Echo(oExec.Status);