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.
- Forms, dialogs, panels
- Buttons, labels, textboxes
- ListViews, TreeViews, TabControls
- Menus, toolbars, status bars
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.