What’s new ?


[!]      Do you know that since .NET Framework 4.x upward...Visual Studio IDE can embed COM DLL objects (like ScriptEZ.API) into your favorite applications ?

            This means that the Registry is now not necessary and running applications with ScriptEZ.API component will actually take place into an isolated and

side by side (SxS) context.


            ...to know more, please Setup the kit and look at provided WindowsApp1.exe - aka 'CrashResilience' from within Visual Studio 2017 Community.


[!]      Do you know that since Visual Studio 2010 upward, you can embed ScriptEZ.API and build your project, even as a non privileged user ?


A good way to compile .NET code that references COM components (like ScriptEZ.API) without registering them, is to use COMFileReference

to reference each of them in your project/build files instead of COMReference. A COMFileReference item looks like this:



  <COMFileReference Include="c:\apidev\release\ScriptEZ.dll">





Since Visual Studio provides no designer support for COMFileReference, you must edit the project/build file by hand and add these xml lines.

         And because of restrictions (due to a lockdown policy) on your computer, you can use and configure manifest XML files like here


[!]      Do you know that Http File and Data Reading API are fully compatible with two new Http Servers which can easily and freely play a role as

          http companion servers, when developing and deploying applications for Windows or Android systems ? 


          These both applications are namely HttpServer and IPCopy for Android. By the way, you can actually use them as Web "Lite" Servers to host

          and share html documents and other files (aka pdf, image/video, movie...) with your people or with a wide audience. They just work !




Listed in the following table are the ScriptEZ.API bug fixes or enhancements.


Date                            Version

Description of bug fixes or enhancements

13-Feb-2020                  v2.38.8.24

. Miscellaneous enhancements and code optimising

11-Sep-2019                 v2.38.7

. A new property added to Http domain in order to support file uploading over Http with HttpServer v1.9.5.0 and beyond:

   . HttpServerFileUploadEx(...)

10-Mar-2019                 v2.38.6.13

. DoEvents() allows an application or a script to give GUI responsiveness while executing tasks into a long loop.

31-Dec-2018                 v2.38.6.9

. RunAs(...) allows now an application to run into an Administrator user context like with Windows Explorer contextual menu.

09-Dec-2018                 v2.38.6.8

. A new property added to Http domain in order to support file uploading over Http with HttpServer v1.8.0.0 and beyond:

   . HttpServerFileUpload(...)

24-Nov-2018                 v2.38.5.8

. A self contained tutorial of seven applications.NET is now released and downloadable, for learning and understanding

27-Jul-2018                   v2.38.5.2

. 2 new properties added to Http domain in order to support resume mode for file downloading:

   . OpenHttpFileAt(...)

   . OpenHttpFileExAt(...)


12-Sep-2017                 v2.38.4.4

. GetJpegFileInfo fetches main information fields from a photo/jpg file, which are:


            . Camera Maker

            . Camera Model

            . Date

            . Time

            . Color: Yes | No

            . Flash used: Yes | No


11-Apr-2017                  v2.38.4

. Bug fixe in OpenBinaryFile(…) which makes the file access exclusive so that no other process can share and use it.

13-Nov-2016                 v2.38.3.5

. Enhancements: HostnameToIPAddress ( ) can now retrieve IP(s), Subnetwork Mask and Network IP such as:;;    // IP Address list   // Network Mask Address                          // Network IP


21-Oct-2016                  v2.38.3.4

. Enhancements: ConnectSocketServerObject( ) and ServerDocConnect( ) support now polling call to check if a connection

  is well established with a remote server.

16-Oct-2016                  v2.38.3.2

. UnicodeToAnsiFile converts Unicode file to an ANSI Windows file.


05-Oct-2016                  v2.38.3

. IsRegistryValueReadable and RegistryReadValue can be now used seamlessly with Windows 32 and 64 bit registry hives.


13-Sep-2016                 v2.38.2.5

. A bug, when calling subsequently AppAutoRestart and DelayedTerminate, disables “app hanging state” detection mechanism.

  This regression is now corrected and calling DelayedTerminate with AppAutoRestart will work fine. 

04-Sep-2016                 v2.38.2

. Bug fixes and enhancement to TCP/IP reconnection feature for client applications.

02-Aug-2016                 v2.38.0

. New enhancements for:

   . ConnectSocketServerObject()

   . ServerDocPostSQLQuery()

16-May-2016                 v2.37.9.7

. 2 new properties and enhancement:

   . IsProcessUsingDotNet() checks whether the current process or another process is using .NET API

   . SQLite_execCustomQueryPlugin() provides a new facility to extend SQLite based applications’ features

     thanks to custom plugins which are based on Windows Script Component technology.

   . SendMail() supports now extra Carbon Copy (CC) mailing list besides the standard destination mailing list.

19/27-Apr-2016             v2.37.9.4

. Enhancements :

   . ServerDocPostSQLDML() supports now pipe char (|) and semi-column (;) accordingly with ServerDoc v7.29

   . ServerDocPostSQLQuery() supports now pipe char (|) and semi-column (;) accordingly with ServerDoc v7.29

   . SendMail() supports now extra pipe char (|) into password string beside the existing separator

12-Apr-2016                  v2.37.9

. Bug fix for :

   . onServerDocData () which transmits now the correct value of RowCount.

01-Nov-2015                 v2.37.8




. 2 new properties added to Ftp domain:

   . FtpRemoveDirectory()

   . FtpRemoveFile()

15-Oct-2015                  v2.37.7.6



. 1 new property added to application domain:

   . WindowHandleToProcessId () returns the PID of the process that created a window.

08-Oct-2015                  v2.37.7.2



. 2 new properties added to string domain and file/folder domain:

   . OemToAnsiChar(…)

   . WaitForDirectoryChangeNotification(…)

21-Aug-2015                 v2.37.6.8

. Remote Control Interface or ProbeMemoryStatus(32) which gets the coverage of methods/properties in use

  from a current process, includes now max taken time in milliseconds for each method/property call:


     [99] (68) SQLite_execAggregateFunction(32 ms)

     [820] (79) ReplaceStringTableItemAt(16 ms)

     [101] (227) FileVersion(2531 ms)


13-Aug-2015                 v2.37.6.6



. GetWindowsVersion() returns now 10 (for Windows 10) and 2016 (for Windows Server 2016)

28-Jul-2015                   v2.37.6.5



. 1 new property added to XML file domain:

   . CoFindManifestResourceType (…)

11-Jul-2015                   v2.37.6.2



. 1 new property added to XML file domain:

   . CoCreateManifestFile(…)

29-Apr-2015                  v2.37.5.6

. EnableTopmostWindow(), EnableWindow(), HideWindow(), IsWindowVisible(), ShowWindow()

  apply now to console window (DOS) as well.

04-Mar-2015                 v2.37.5.4

. A crash fix onto IndexServerConnect (…)

16-Jan-2015                  v2.37.5.3


. A new parameter value added to:

   . SQLite_buildInsertCommand(…) returns now a CSV string (semi-column as separator: “;” ) when

     the first parameter (aka SQliteTable) value is an empty string (“”).

26-Dec-2014                 v2.37.5.2

20-Dec-2014                 v2.37.5.1


. new params added to:

   . ProbeMemoryStatus (10) returns laptop battery charge status (High, Low, Critical or Direct Power)

   . ProbeMemoryStatus (9) checks whether the computer is equiped with Sleep and Hibernate commands.

   . Terminate (-10) and Terminate(-11) will respectively Sleep and Hibernate the computer.


08-Nov-2014                 v2.37.4.9


. Native use of the component for VBScript under Windows 64 bit is now available through

  a COM Surrogate (COM+):


1)   Use dcomcnfg.exe by your own to add and build a COM+ Application (namely ScriptEZ_APIWoW)

which integrates ScriptEZWoW.dll file or run a helper provided script: “COM+ AppBuilder.vbs

2)   Use then “ScriptEZ.APIWoW” instead of “ScriptEZ.API” when calling WScript.CreateObject(…)

      (!) Note that this 64 bit support involves creating only one ScriptEZ.APIWoW instance per script.


. 2 new properties added to Internet domain:

   . InternetDownloadFile(…)

   . FtpGetFilenameList(…)

04-Sep-2014                 v2.37.4


. 1 new property added to Application domain:

   . DelayedTerminate (…)

02-Aug-2014                 v2.37.3


. 1 new property added to XML I/O:

   . AppendNewXMLElement (…)

04-Jun-2014                  v2.37.2.7


. 1 new property added to TCP/IP domain:

   . IsSocketPortActive (…)

29-May-2014                 v2.37.2.6

. 2 new properties added to Windowing:

   . EnumChildFromParentWindow (…)

   . GetWindowText(…)

10-May-2014                 v2.37.2

08-May-2014                 v2.37.0

. 3 new properties added to TCP/IP domain and Windowing:

   . FileVersion(…)

   . RawSocket(…)

   . PopupMsgBox(…)


. GetOpenDlgDirectoryPath("uri://scriptez.dll?path") returns now the full path of scriptez.dll file.


19-Dec-2013                 v2.36.9

. 3 new properties added to Networking domain:

   . GetNetworkConnectionList(…),

   . EnableNetworkConnection(…),

   . EnableNetworkDevices(…)


24-Oct-2013                  v2.36.7

. 1 new property added: SetSystemTime(…)


27-Aug-2013                 v2.36.6

. 1 new property added: ScreenShotToFile(…)

. ProbeMemoryStatus(8) returns 1 if the Workstation (PC) is locked.


13-July-2013                      -


05-July-2013                 v2.36.5

NamedItemValueFromElement(…) and NamedItemValueFromElementListAt(…) retrieve now text part

or XML part from an XML element with keywords "<text/>" and "<xml/>" as NamedItem param.


2 new added properties:

   . GetFileTimeStamp(…)

   . RestoreFileTimeStamp (…)


21-Jun-2013                  v2.36.4

. Enhancements into SendMail(…) and miscellaneous optimisations for script files remote upgrading.


13-Jun-2013                  v2.36.3

. Bug fix into EncryptBSTR(…) which incorrectly encodes/decodes some special chars for HTML format.

  ( please refer to the following sample script file: EncryptDataDemo.vbs )


28-May-2013                 v2.36.2

. Added ResetSharedSequenceNumber(…) : to make sequence number begin at 1 again.


26-May-2013                 v2.36.1



23-May-2013                 v2.36.0

. Bug fix into EncryptBSTR(…)  when it decodes strings with more than one sequence ‘\r\n

  ( carriage-return + line_feed characters )


. ProbeMemoryStatus(11) returns 1 if the current user belongs to Administrators Group

  or 0 if he/she belongs to Standard Users Group (for instance as Guest user).


09-May-2013                 v2.35.9

. Issue with AppAutoRestart(…) under Windows 8 is now fixed.


30-Apr-2013                  v2.35.8

3 new added properties:


 - for populating XML data with the same object:

   . PopulateXMLObject(….)


 - for displaying tooltip notes for controls into a dialog boxe or a standard window:

   . CreateTooltipWindow(…)

   . AddTooltipWindowText(…)


13-Apr-2013                  v2.35.7

05-Apr-2013                  v2.35.6

. Mails notifying about an unexpected application exit or crash, contain now API usage coverage (list of used methods/properties).

. Internal enhancements.


16-Mar-2013                 v2.35.4

. Terminate(…) supports now Windows system shutdown and lock functions.

. ProbeMemoryStatus(32) returns info about methods/properties in use coverage from current process.

. 1 new added property for retrieving user language identifiers: GetUserDefaultUILanguage(…)


24-Feb-2013                  v2.35.2

When firstly instantiating, the component does not anymore display the console window (aka DOS black window)

but creates it at first calls of Echo(), ShowConsoleWindow(), SetConsoleTitle() or ClearConsole().

This brings some visual comfort to users and quickness for those apps which does not need the console window

at runtime.


16-Feb-2013                  v2.35.0

1 new added property implements retrieving incremental, unique and safe sequence numbers from within apps

  . GetSharedSequenceNumber(…)


13-Feb-2013                  v2.34.9

. Fix a concurrency access issue which involves data corruption while using tcp/ip, named pipe

communications between applications as they instantiate the component to run within Multi Threaded

or Neutral Threaded Apartments.


09-Jan-2013                  v2.34.6

. Optimisations for memory usage when using dual way interprocess communication with tcp/ip or named pipe.


01-Jan-2013                  v2.34.5

2 new added properties implement a built-in bandwidths measuring between client(s) and a TCP/IP server,

in order to tune network and apps’ quality by: detecting bottlenecks, splitting messages, limiting connections…etc

  . EnableSocketObjectInOutBoundBandwidthPolling(…)

  . GetSocketObjectInOutBoundBandwidth(…)


24-Nov-2012                 v2.34.3

2 new properties were added to enhance Web service client usage:

  . URLEncode(…)

  . OpenHttpAndPost(…)


08-Nov-2012                 v2.34.2

2 new properties were added to enhance string search and replace by using Regular Expression object:

  . FindString(…)

  . ReplaceString(…)


19-Oct-2012                  v2.34.1

. Calls to AddSocketClientObjectEventHandlers () and AddNamedPipeClientObjectEventHandlers()

are now optional from within onConnectionRequest() / onConnectionRequestNamedPipe() to validate

a TCP/IP or Named Pipe client connection for a server app…instead, just return 1 from these callbacks.

29-Sep-2012                 v2.34.0

. Correction into OpenHttpFile( ) and OpenHttpFileEx( ) which are inactive in the case where there is

no Internet in the network neighbourhood: the Web server is running only in localhost or in LAN.


25-Jul-2012                   v2.33.9

. OpenHttpFile( ) and OpenHttpFileEx( ) disable now data receive timeout (by default: 30 seconds)

so a client app can now invoke synchronously an active page (PHP, ASP…) for running a long job.


(!) Be aware of deactivating the execution timeout from within remote server script as well:

     (e.g set_time_limit(0) for PHP script)