New Features in Version 8.3
- Tested the WinOne® Command Prompt package on Windows 8.1. There were a few minor fixes required for Windows 8.1 as some things did change. For example, the Programs menu has being fixed for Windows 8.1 and is now working correctly.
- The WinOne® Command Prompt now saves it configuration data directly to the registry when running on Windows 2000 and above. Previous versions of the WinOne® Command Prompt used initialisation file APIs, which required Administrator rights to work correctly. Now, the WinOne® Command Prompt uses the registry APIs instead, to correctly save all configuration data to the registry, regardless of what rights the WinOne® Command Prompt is started with.
- Fixed the external game ROGUE to work correctly, which was previously crashing every time it was run. It now runs correctly.
- Updated some minor bugs in the WinOne® Console Emulator. Also, disabled the CreateProcess() API which needs more work in order to work correctly. Some commands use CreateProcess() to run other console applications. For example, command NET.EXE internally runs command NET1.EXE and so on. The version number for the Console Emulator has been increased to 1.8 beta.
- Fixed an issue that caused the following error message to be displayed :-
This occurred when the 32 bit Console Emulator attempted to hook into a 64 bit console program, which is simply not possible. Now, the input/output is captured using Named Pipes. See Windows and Capturing Console I/O for more information about Named Pipes and it limitations. Alternatively, add the 64 bit console program to the No-Capture List using the CAPTURE command.
- Fixed a small bug in the string parsing code, which was incorrectly parsing two double quote marks. Strings are now correctly parsed.
- Fixed command TREE which was missed in the upgrade to unicode. The command has now been upgraded to use the correct unicode characters.
- Fixed the commands SETLOCAL and ENDLOCAL which also did not work correctly with unicode characters.
- Started to colourise various Console applications output with respect to the currently selected Colour Scheme. The Console Emulator allows the output of console applications to be colourised in order to make the output from these console applications easier to see. So far the following programs have had their output colourised :-
- Updated and improved the internal List data structure, which is now a C++ template. This has resulted in a large reduction in the number of memory allocations required for the data structure (ie. by the thousands!), which in turn means the data structure is now much faster to initialise. The code has also been greatly simplified as a result, which has also resulted in some bugs being identified and fixed, including a few memory leaks. The List data structure can grow indefinitely and is only limited by the available memory, on the computer, the WinOne® Command Prompt is running on.
- Updated and improved the internal Stack data structure, which is now also a C++ template. Like the List data structure, the Stack data structure can now grow indefinitely and is only limited by the available memory.
- Added the ability to call Component Object Model (ie. COM) Object Methods and/or set and retrieve COM Object Properties using the following new commands :-
- COM - Call a COM Object Method with/without parameters
- COG - Get a COM Object property
- COP - Put a COM Objects property
There are many COM Objects built into Windows. Typically, COM Objects are used from programs like VBScript, JScript and so on. Now, WinOne® batch files have the capability of using COM Objects just like other high level languages.
- Improved the internal expression parser in the WinOne® Command Prompt, which can now :-
- Seamlessly convert between types (ie. string <--> int <--> real).
- Have longer strings (string length has been increased from 256 characters to 4096 characters).
- Concatenate two or more strings together using the + operator.
- Perform the following additional new functions :-
- FLOOR(x) - returns the largest integer not greater than x.
- CEIL(x) - returns the smallest integer not less than x.
- MIN(x, y) - returns the smallest of x and y
- MAX(x, y) - returns the maximum of x and y
- GCD(x, y) - returns the greatest common divisor of both x and y
- FACT(x) - returns the factorial of x
- LCM(x, y) - returns the largest common multiple of both x and y
- CHR(x) - convert an number to a character/code-point.
- ATAN2(y, x) - Calculates the arc tangent of y/x.
- Improved command LET, which can now return a string, to be saved in the specified environment variable. For example :-
will no longer display an error, instead the environment variable var will be set to This is a string.
LET var="This is a string"
- Updated the WinOne® Command Prompt to be able to execute 32-bit programs that require Administrator privileges to run, when the WinOne® Command Prompt is started with Limited User privileges only, as in the table below :-
Run WinOne® As :- Administrator Limited User Console Programs 32 bit asInvoker ✔ ✔ asAdmin ✔ ✔ (new) 64 bit asInvoker ✔ ✔ asAdmin ✔ ✘ GUI Programs 32 bit asInvoker ✔ ✔ asAdmin ✔ ✔ (new) 64 bit asInvoker ✔ ✔ asAdmin ✔ ✘
- Fix command EXT to work with file extensions of up to 32 characters, as file extensions are no longer limited to 3 characters. The maximum number of file extensions that are supported is now 2000. A good registry cleaner program can help to minimise the number of file extension associations included in the registry by removing any associations that are invalid.
- Removed the 2000 line limit per batch file. Now, a Batch File is only limited by the available memory.
- Updated the website to include syntax highlighting for all the batch file code samples and all the command lines that can be entered at the command prompt, in order to make them easier to read.
- Many internal optimisations and improvements.