Release Notes of version 3.60 of KiXtart 95. Below is a history list of the various releases. Please see KiX95.doc for full details on Kixtart commands and functions. 3.60 1 COPY - fixed handling of target without backslash or filename 2 added local variables 3 added arrays 4 added DecToHex and handling of hexadecimal values 5 fixed issue in AT when output was redirected 6 added 'language' option to GetFileVersion 7 added GetFileSize 8 added mathematical & and | 9 added Dir 10 added GetFileAttr 11 added Execute 12 added SetFocus & SendKeys 13 fixed GetDiskSpace on pre-OSR2 Win95 (still limited to 2 gigabytes (GB) though) 14 internationalized KIX32 and KXRPC so output is in correct codepage 15 enhanced KIX32 on Windows 95/98 in situations with Global Groups of more than 20 characters Note : Global Groups over 20 characters will not be available to Windows 95/98 systems, but all other information will be 16 moved all cross-network information retrieval to runtime 17 added SITE macro 18 enhanced error reporting in KXRPC 3.55 1 fixed finding of default script in directory other than current (was broken since 3.48) 2 enhanced determination of logonserver on Windows 95/98 systems in resource domains 3 added an updated ALPHA build of KIX32.EXE To install the ALPHA build, simply copy KIX32.ALPHA from the ALPHA subdirectory to your system, and rename it to KIX32.EXE. 3.54 1 fixed bug (that was introduced in 3.53) with SET and SETM 3.53 1 fixed bug with empty strings in SubStr 2 added 5KB size limit on KIXTART.LOG 3 RND() can now return random number in a specific range 4 GetFileVersion now also works on incompletely versioned files 5 GetFileVersion can now return any of the version information fields 6 added GetFileTime 7 added GetDiskSpace 8 added @USERLANG & @SYSLANG 9 added /h option to COPY so hidden & system files can be copied 3.52 1 fixed problem in EXIT with setting ERRORLEVEL 3.51 1 fixed reporting RAS active when actually RAS is not installed 2 changed EXIT to set ERRORLEVEL if used at topmost level 3 fixed debugmode so it works okay when output has been redirected 3.50 1 fixed exception in COPY when used on files without extension 2 changed WM_WININICHANGE message to WM_SETTINGCHANGE and added timeout 3 made Exist() compliant with previous version (to work on drives and shares) 3.49 1 fixed wildcard character support for DEL 3.48 1 fixed ReadLine to correctly handle files opened for read access 2 fixed ydayno to return same result as kixtart 2.33 3 added /debug option 4 added /nonet option 5 removed last '\' from startdir 6 moved initialization of RAS information to runtime 7 added RD command (remove directory) 8 added wildcard character support to DEL, COPY & Exist() 9 added LogEvent() 3.47 1 fixed memory bug in InGroup that was introduced in 3.46 3.46 1 GET now really does handle function keys 2 added ASC() 3 added WriteLine() and enhanced Open() to open files for writing 4 added LoadHive() and UnloadHive() 5 added OLE Automation functions 6 added @SCRIPTDIR, @CURDIR, @SERROR 3.45 1 fixed issue with USE & variable for local resource 2 fixed issue with running of user-specific script if KXRPC unavailable 3 fixed issue with finding KIXTART.INI 4 USE now supports "USE * /delete" 5 added EnumGroup( index ) 6 added EnumLocalGroup( index , source ) 3.44 1 we now use a combination of thunking and RPC to retrieve information on Windows 95 This means we once again work against SAMBA servers, and can work outside the logon sequence again. 2 USE now supports 'driveless' and persistent connections 3 we now support an additional default script extension : ".KIX" 4 added LCASE & UCASE functions 3.42 1 KXRPC mapping now supports multiple servers per mapping. NB : to enable this feature, update both KIX32.EXE & KXRPC.EXE. See the manual for more details. 2 fixed LMSCRIPT bug 3.41 1 KiXtart now has various methods to locate a KXRPC server NB : to enable this feature, update all components (KIX32.EXE, KXRPC.EXE and KX95.DLL) See the manual for more details. 2 removed old 64K limit on scripts 3 fixed bug in SELECT when last CASE was true 3.40 1 moved to RPC based information retrieval on Windows 95 2 added @LONGHOMEDIR 3 added @RAS 4 added QUIT 5 added GETFILEVERSION 6 added COMPAREFILETIMES 7 added COPY 8 fixed registry functions to handle computernames > 13 chars 9 fixed multiple display of last line with DISPLAY 10 added @HOMEDRIVE 11 GET enhanced to handle function keys (if a function key is pressed, GET returns 0 and @ERROR is set to the code of the function key) 12 added error logging (in the eventlog on Windows NT systems, and in KIXTART.LOG in the TEMP directory on Windows 95 systems) 3.38 1 fixed problem with @DAY, @MONTh and @PRIV 2 fixed memory leak after SHELL 3.37 1 added SELECT/CASE/ENDSELECT (switch statement) 2 added GOSUB/RETURN 3 nesting of IF's, DO's, etc no longer limited to 10 4 added LTRIM/RTRIM/VAL functions 3.36 1 fixed Ingroup on local groups (didn't work for domains) 2 added @SID macro (only available to Windows NT workstations) 3 added @PRIMARYGROUP macro (only available to Windows NT workstations) 4 fixed issue with uppercase characters in COLOR statement 5 system menu of console is now correctly reset (previously, the system menu was reset to the windows default) 6 the 'please wait while your logonscript...' dialog is now automatically hidden as soon as KiXtart starts 7 ReadProfileString now correctly sets @ERROR 8 fixed issue with > 10 nested IF's 9 SETTIME now supports specific domain (for example : SETTIME "DomainName") 10 SETTIME correctly sets @ERROR 3.35 1 changed macro/variable/environment var resolution. 2 worked around 'LPTx' redirection issue on Windows NT 4.0. 3 INGROUP now also works for 'indirect' groupmembership (that is: if you are member of a global group that is member of a local group, INGROUP will now return true if used on the local group. 4 also, INGROUP now can be used to query for membership of local groups on a specific domain or server simply by preceding the name of the group with the name of the domain or server (that is: Ingroup( "\\MyServer\Administrators") , Ingroup( "YourDomain\Admins") ) This feature is only available to Windows NT workstations 5 fixed issue with deleting sections from INI's with WriteProfileString. 6 enhanced SHUTDOWN to work on Windows 95 (local system only) 3.34 1 moved retrieval of TCP/IP to runtime (rather than init). This way, we only lose time waiting for TCP/IP if we really want to. 2 added 'empty' string support to ReadProfileString : ReadProfileString will now indeed return all section-/keynames if the respective parameter is empty. Values are concatenated into 1 string, separated by linefeeds ( chr(10) ). 3.33 1 fixed AddProgramItem (didn't work on Windows 95) 2 AddProgramItem now has the ability to Add & Replace an item in 1 call (in other words : whether or not the icon exists, a replace call can now succeed). To use this feature, specify 2 for the Replace parameter. 3 corrected 'short' stuff for @HOMEDIR 3.32 1 fixed ReadLine (it hung when last line didn't have ) 3.31 1 fixed MessageBox, so that it (once again..) returns a correct value if run without a TimeOut value 3.30 1 added TCP/IP macro's (@IPADRESS0 through @IPADDRESS3 and @HOSTNAME) 2 added timeout parameter to MessageBox 3 added simple I/O functions (OPEN, READLINE,CLOSE) 4 changed @HOMEDIR such that it now always returns the 'short' name 5 added command to create a directory (MD) 6 added LOGOFF function 7 added CHR function 3.21 1 removed unnecessary '%' stuff from ReadValue 3.20 1 added Shutdown(), SendMessage(), Messagebox(), RedirectOutput(), see kix32.doc for details. 2 Enhanced 'interrupt' handler : BREAK OFF now also disables the 'Close' option in the console system menu. 3 Fixed '$' handling in macro's. 4 Added optional parameter support. 5 Added 'RunInOwnMemorySpace' parameter to AddProgramItem(). 6 @INWIN now indicates Windows NT (==1) or Windows 95 (==2) 3.19 1 /user & /password now DO understand vars as args 3.18 1 added code to emulate LOADKEY on Windows 95 3.17 1 added SETCONSOLE() function : SETCONSOLE("SHOW") - show console window SETCONSOLE("HIDE") - hides console window SETCONSOLE("FOREGROUND") - moves console window to foreground SETCONSOLE("ALWAYSONTOP") - makes console window topmost window SETCONSOLE("MINIMIZE") - minimizes console window SETCONSOLE("MAXIMIZE") - maximizes console window Return value : 0 if okay, >0 if error occurred. 3.16 1 rebuild of 3.15 without VC 4.0's speed-optimization...thereby fixing a problem with retrieving the LAN information on Windows 95 3.15 1 added DO - UNTIL & WHILE - LOOP 2 fixed AND & OR stuff 3.13 1 PASSWORD no longer supported, instead, USE now supports 2 new parameters : /PASSWORD:pw & /USER:user (latter only on Windows NT) 2 fixed @KIX... 3.12 1 fixed INGROUP so that it now really does return 2 for local groups (...) 2 made PLAY a little more flexible (it now understands "PLAY DING.WAV") 3.11 1 USE now supports PASSWORD 3.10 1 added Program Group Control 2 added Remote Printer Connection management 3 added INI file management 3.02 1 removed debug information from SETTIME 3.01 1 SETTIME set incorrect time on Windows NT 2 Environment variables were incorrectly handled 3 SHELL did not set @ERROR to return code of the shelled program Feedback For questions or feedback concerning this tool, please contact rkinput@microsoft.com. (c) 1985-2000 Microsoft Corporation. All rights reserved.