ScriptEZ.API component is designed and written as a programmable and additional object to existing ones from library wizapi32.dll in order to extend their usage for popular languages like Microsoft Office VBA, VBScript/JScript, PowerShell, PHP, Python, R…but also .NET Framework, while attempting to keep together the simplicity of scripting languages and the powerful paradigm of compiled languages like C/C++, C# or Visual Basic 6.0/.NET around the following programming domains:


1) Inter-Process Communication (IPC)

Inter-process communication API such like TCP/IP sockets (with auto-reconnection), Named Pipes or Dynamic Data Exchange (DDE) are now available and operational for programs or applications which are designed and coded with popular scripting languages.


Furthermore, Web data consuming and exchanging programmatic interfaces with HTTP/HTTPS or FTP are provided to application or script developers as well. Two more companion applications are freely available here and here, if you will to host and/or share your HTML pages or other document files (e.g Pdf, Video, Images...) from within Windows or Android devices, around LAN, WLAN, WAN or Internet. These both applications are namely HttpServer and IPCopy for Android.


2) Multi-threading, Multi-core

Scripts and compiled programs/applications are now, similarly capable of multithreading usage thanks to thread pools. Moreover, those very programs can set affinity to one or more Core(s) of a Central Processing Unit (CPU) by using the following method:


        SetCPUCoreAffinity(CoreAffinity), where CoreAffinity can be "0,1" (Core1 & Core2 affinity) for example.


3) Embedded Database

ScriptEZ.API makes easy information persistency management by integrating and offering a simple interface to an embedded SQL database engine that is SQLite.

4) Remoting Control Interface

ScriptEZ.API provides a mechanism for «self-contained documenting (readme)», «monitoring», «tuning» and even «remote upgrading» script based process(es) via a “telnet-like  tool called NPTelnet.exe ( Named Pipe Telnet ). For that, you just call AppRegister( ) from within your app or script.


Connecting to a process is done with computer’s name (hostname) and process identifier itself (PID: Process IDentifier); once connected, Remoting Control Interface looks like below:



      |         Welcome to ScriptEZ.API Remoting Control Interface                   |



       ? : What's this App type ? (Client, Server, Client & Server or Standalone)

       h : Show and activate console window

       H : Hide console window

       1 : Get Windows operating system version

       2 : List all script based processes

       3 : Get number of connected clients

       4 : Get Help for supported AppEvents...

       5 : Send an AppEvent identifier to this ScriptEZ.API process...

       6 : Upgrade remotely a connected TCP/IP client with a new version...

       7 : Disconnect forcibly a TCP/IP client...

       K : (!) End forcibly this current process


       Please enter your choice (?, h, H, 1, 2, 3, 4, 5, 6, 7, K or <Esc>):



To make a long story short, ScriptEZ.API is a programmable component which helps code Windows apps or scripts in a fast and efficient way whatever is your favorite programming language, providing that it supports COM ( Component Object Model ) standard.



For your sake, this component takes care of :



*  Building smart client/server software with TCP/IP or named pipe for LAN, WAN or Internet infrastructure.

*  Exchanging or consuming data between client applications and remote FTP Server or Web Server.

*  Featuring apps and scripts with Multi-threading, Multi-core, Monitoring, Tuning and Resilience.

*  Embedding a Small Footprint SQL Database.

*  and stuffing even more...