Native Windows Capabilities for JavaScript

AdvantageBuilder gives JavaScript developers access to native Windows features normally reserved for .NET, C#, or PowerShell. Both JavaScriptV8 and JScript.NET can build real desktop applications and automation tools using the same APIs and the same capabilities.

Scripts run directly on Windows — no external runtime, no bundled engines, and no packaging step. This means instant startup, tiny distribution size, and full in-process integration with Windows.

Native WinForms UI

AdvantageBuilder provides a complete native WinForms UI toolkit. Interfaces are built using real Windows controls — ideal for tools, utilities, dashboards, and internal applications.

JavaScriptV8:

    let winformsHelper = eval(getSourceCode("WinFormsHelper", "Macro Main Helpers\\Library", "WinFormsHelper"));
    let mainForm = winformsHelper.CreateForm("AdvantageBuilder JS Demo");
    let txtInput = winformsHelper.AddTextBox(mainForm, "Enter text:", "My first text");
    form.ShowDialog();

    JScript.NET:

    var winformsHelper = eval(getSourceCode("WinFormsHelper", "Macro Main Helpers\\Library", "WinFormsHelper"));
    var mainForm = winformsHelper.CreateForm("AdvantageBuilder JS Demo");
    var txtInput = winformsHelper.AddTextBox(mainForm, "Enter text:", "My first text");
    form.ShowDialog();
    

HTML Interfaces

AdvantageBuilder includes a full HTML UI system using its embedded browser control. JavaScriptV8 uses Edge; JScript.NET uses the classic WebBrowser control.

JavaScriptV8:
// Get GUI file path
let filePathGUI = getGUIFilePath("UserInteraction.html");
let script = "";
let params = {};

// Show WEB GUI (Edge)
let htmlData = showHTMLFormEdge(filePathGUI, script,  params); //returns HTML Data

JScript.NET:
// Get GUI file path
var filePathGUI = getGUIFilePath("UserInteraction.html");

// Show WEB GUI (IE/WebBrowser)
var doc = showHTMLForm(filePathGUI); // returns HTML Document

Database Access

AdvantageBuilder provides a simple four-function database API usable from both JavaScriptV8 and JScript.NET.

JavaScriptV8:

    let connString = "Data Source=C:\\Demo\\data\\mydb.sqlite;Version=3;";
    let connType   = 6; // SQLite

    let sql = ""select * from tblPriceHistory";

    let ds = ExecuteDataset(sql, connType, connString);

    JScript.NET:

    var connString = "Data Source=C:\\Demo\\data\\mydb.sqlite;Version=3;";
    var connType   = 6; // SQLite

    var sql = ""select * from tblPriceHistory";

    var ds = ExecuteDataset(sql, connType, connString);
    

Scheduling

Run scripts automatically using either JavaScriptV8 or JScript.NET.

JavaScriptV8:

    let schedulerId = addMacroSchedule('DailyReport', 'Reports', 'Daily', null, '', '09:00');

    JScript.NET:

    var schedulerId = addMacroSchedule('DailyReport', 'Reports', 'Daily', null, '', '09:00');
    

Macro Workflow Capabilities

AdvantageBuilder macros form a complete workflow system. Macros can call other macros, pass parameters by reference, share state, and return values back to the caller.

JavaScriptV8:

let displayResult = false; // Determines whether result would be displayed. Pass false not to display results
let macroName = "Main Backup"; // The name of the macro to call
let macroPath = "Backup" // Macro's location e.g 'SQL Folder\\DDL Folder'
let params = {"FullBackup" : true}; // Parameter(s) to be passed into the Macro

// call synchronously
let result = callMacro(displayResult, macroName, 'Backup', params);

// call asynchronously
callMacroAsync(displayResult, macroName, 'Backup', params);

JScript.NET:

var displayResult = false; // Determines whether result would be displayed. Pass false not to display results
var macroName = "Main Backup"; // The name of the macro to call
var macroPath = "Backup" // Macro's location e.g 'SQL Folder\\DDL Folder'
var params = {"FullBackup" : true}; // Parameter(s) to be passed into the Macro

// call synchronously
var result = callMacro(displayResult, macroName, 'Backup', params);

// call asynchronously
callMacroAsync(displayResult, macroName, 'Backup', params);

    

AI Helpers

AdvantageBuilder includes a built-in AI helper that can assist with macro creation, error explanation, workflow design, and script improvement.

JavaScriptV8:

var AIHelper = eval(getSourceCode('AIHelper', 'Macro Main Helpers\\Library', 'AIHelper'));

AIHelper.Provider = "OpenAI";
AIHelper.Model    = "gpt-4o-mini";
AIHelper.ApiKey   = "Your-API-Key";

AIHelper.SystemPrompt = "Your System Prompt Here";

AIHelper.Stateful = true;

var response = AIHelper.Send("Your Prompt Here");


JScript.NET:

var AIHelper = eval(getSourceCode('AIHelper', 'Macro Main Helpers\\Library', 'AIHelper'));

AIHelper.Provider = "OpenAI";
AIHelper.Model    = "gpt-4o-mini";
AIHelper.ApiKey   = "Your-API-Key";

AIHelper.SystemPrompt = "Your System Prompt Here";

AIHelper.Stateful = true;

var response = AIHelper.Send("Your Prompt Here");


    

COM & ActiveX Automation

AdvantageBuilder scripts execute in-process, giving both JavaScriptV8 and JScript.NET direct access to COM and ActiveX components.

JavaScriptV8:
let excel = createActiveXObject("Excel.Application");
excel.Visible = true;
excel.Workbooks.Add();

JScript.NET:
var excel = new ActiveXObject("Excel.Application");
excel.Visible = true;
excel.Workbooks.Add();

Comparisons

See how AdvantageBuilder compares to other automation and scripting tools.