2
« on: May 02, 2024, 11:39:31 pm »
Herewith the JScript MsgBox and InputBox example for EA 16 64bit
!INC Local Scripts.EAConstants-JScript
/*
* Script Name: JScript MsgBox (EA 16 x64)
* Author : Jan van Duuren
* Purpose : Test MsgBox and InputBox with JScript in EA 16 64bit
* Date : 02.05.204
*/
// global vars
var fso = new ActiveXObject("Scripting.FileSystemObject");
var WSH = new ActiveXObject("WScript.Shell");
function main()
{
var result = InputBox("Please enter here", "MyInput", "default_text");
MsgBox(result, "MyTitle", 64);
}
main();
function MsgBox(prompt, title, style) {
if (prompt == null) prompt = "";
if (title == null) title = "MsgBox";
if (style == null) style = 0;
style += 4096; // to make the popup active (foreground)
return WSH.Popup(prompt, 0, title, style);
}
function InputBox(prompt, title, defaultText) {
if (prompt == null) prompt = "Input";
if (title == null) title = "InputBox";
if (defaultText == null) defaultText = "";
var vbsScriptFile = WSH.ExpandEnvironmentStrings("%TEMP%\\ea_inputbox.vbs");
var tmpInputFile = WSH.ExpandEnvironmentStrings("%TEMP%\\ea_input.tmp");
if (!fso.FileExists(vbsScriptFile)) {
CreateInputboxVBS(vbsScriptFile);
}
var cmd = 'WScript "' + vbsScriptFile + '" "' + tmpInputFile + '" "' + prompt + '" "' + title + '" "' + defaultText + '"';
Session.Output(cmd);
WSH.Run(cmd, 1, true);
var ForReading = 1;
var file = fso.OpenTextFile(tmpInputFile, ForReading);
if (!file.AtEndOfStream) {
return file.ReadAll();
}
}
function CreateInputboxVBS(vbsScriptFile) {
// function to create the inputbox VBS sripts in folder
var vbsScriptContent = "dim tmpInputFile, prompt, title, defaultText, input\r\n\
Set objArgs = WScript.Arguments\r\n\
If objArgs.Count = 4 Then\r\n\
tmpInputFile = objArgs(0)\r\n\
prompt = objArgs(1)\r\n\
title = objArgs(2)\r\n\
defaultText = objArgs(3)\r\n\
input = InputBox(prompt, title, defaultText)\r\n\
End if\r\n\
\r\n\
Const ForWriting = 2, CreateIfNeeded = true\r\n\
set fso = CreateObject(\"Scripting.FileSystemObject\")\r\n\
set file = fso.OpenTextFile(tmpInputFile, ForWriting, CreateIfNeeded)\r\n\
file.write input\r\n\
file.close".replace(/\t\t/g, '');
var overwrite=true, unicode=true;
var file = fso.CreateTextFile(vbsScriptFile, overwrite, unicode);
file.Write(vbsScriptContent);
file.Close();
}