home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-11-09 | 147.8 KB | 3,790 lines |
- WB 96A Jan 1, 1996
-
- New IntControl:
-
- IntControl(1000, p1, 0, 0, 0)
- Sets the exit code returned by WinBatch.
-
- Fixed the "Help" button in the WinBatch compiler.
-
- In the BoxColor function, the gradient effect (wash color) now works with
- video drivers > 256 colors.
-
-
- DLL 2.3abm First showing up in WB 96A
-
- New function:
-
- DiskInfo(drive-letter, request#)
- Returns information on the specified disk drive.
-
- New IntControl's:
-
- IntControl(37, p1, p2, p3, 0)
- Replaces the specified icon in an EXE file.
-
- IntControl(39, p1, 0, 0, 0)
- Sets the file sharing mode for file reads.
-
- IntControl(40, p1, 0, 0, 0)
- Sets the file sharing mode for file writes.
-
- New return code for WinMetrics(-3): 4 = PowerPC32
-
- In 32-bit version, fixed a problem using DirName with directory names
- containing spaces or commas.
-
- Fixed problem with TimeJulToYmd with years >= 2000.
-
- FileWrite now returns an error if the write failed.
-
- In 16-bit version, fixed problem with DiskScan causing a GP fault on
- systems with Stacker compression software installed.
-
- In 32-bit version, the following functions are now a little more
- well-behaved in giving up processor time: RunWait (and RunShell with the
- "@WAIT" parameter), AppWaitClose, and Delay/TimeDelay.
-
- Fixed a problem with the Dialog function, where if you defined an EDITBOX
- control after a FILELISTBOX control, the file listbox would revert to a
- filespec of "*.*".
-
- In 32-bit version, fixed a prooblem with the Dialog function, where if you
- had a filespec other than "*.*", it would not show subdirectories in the
- file list.
-
- In 32-bit version, added some code to the ClipGet and ClipPut functions to
- try to avoid "Clipboard owned by another app" error messages.
-
- Fixed problem with TimeWait, when specifying a date of "00:00:00" and a
- time that was earlier than the current time.
-
- In 32-bit version, added a 25-millisecond delay between keystrokes sent
- using the SendKey function. This can be adjusted using IntControl(35).
-
- Fixed problem with PlayWaveForm in 32-bit version.
-
-
- Windows 32 extender 10004
-
- netDirDialog no longer returns an error if user presses "Cancel".
-
-
- Dialog Editor 96A
- Fixed the "Help" menu.
-
-
- WB 96B Feb 12, 1996
-
- In the 16-bit version, fixed a problem where doing a BoxDestroy
- immediately after resizing a box window caused a GPF.
-
- Fixed a resource leak problem with BoxColor when using gradient effects.
-
-
- DLL 2.3bbm First showing up in WB 96B
-
- New binary functions:
-
- BinaryHashRec(buffer, recsize, keyoffset, keysize, keyval)
-
- Returns a pointer to a record in a binary buffer, using a hashing
- algorithm.
-
- BinaryIncr(buffer, offset)
- BinaryIncr2(buffer, offset)
- BinaryIncr4(buffer, offset)
- BinaryIncrFlt(buffer, offset)
-
- These functions are equivalent to doing a BinaryPeek[...],
- incrementing the extracted value by 1, and then doing a
- BinaryPoke[...] to store the new value.
-
- BinaryPeek2(buffer, offset)
- BinaryPeek4(buffer, offset)
- BinaryPeekFlt(buffer, offset)
-
- These functions are like BinaryPeek, but they extract 2, 4, or 8 bytes
- (respectively) beginning at "offset"
-
- BinaryPoke2(buffer, offset, value)
- BinaryPoke4(buffer, offset, value)
- BinaryPokeFlt(buffer, offset, value)
-
- These functions are like BinaryPoke, but they store the specified
- "value" in 2, 4, or 8 bytes (respectively) beginning at "offset".
-
- BinarySort(buffer, recsize, keyoffset, keysize, flags)
-
- Sorts records in a binary buffer. The buffer is sorted in place.
-
- Change to BinaryIndex and BinaryIndexNc:
-
- You can now specify a blank string ("") for the "string" parameter, in
- which case the function will return the offset of the first non-NULL
- character found, starting at "offset".
-
- Fixed BinaryIndexNC
-
- BinaryPoke now correctly returns the previous value, as documented.
-
- In the 32-bit version, KeyToggleSet no longer returns an error (however,
- it is still subject to the limitations described in the documentation).
-
- In the 16-bit version, fixed DirAttrSet.
-
- The following string functions:
-
- StrIndex
- StrScan
- StrSub
-
- no longer return an error for illegal bounds conditions. Instead,
- StrIndex/StrScan now return a 0, and StrSub returns a blank string.
-
-
- WB 96C Mar 22, 1996
-
- FileMenu now works in Windows NT 4.0.
-
- PopMenu now works in Windows NT 4.0.
-
- Fixed problem where BoxButtonDraw didn't change the text of an existing
- button, or of a button which had previously existed but had been removed
- with BoxButtonKill.
-
-
- DLL 2.3cbm First showing up in WB 96C
-
- In 32-bit version, the following functions now work in Windows NT 4.0:
-
- ShortcutEdit
- ShortcutExtra
- ShortcutInfo
- ShortcutMake
-
- In 32-bit version, the Run... functions can now be used to launch shortcut
- files in Windows NT 4.0.
-
- In 32-bit version, added 3D effects to Windows NT 4.0.
-
- In 32-bit version, fixed problem with licensing dialog in Windows NT 4.0.
-
- In 32-bit version, the following registry functions:
-
- RegSetValue
- RegQueryValue
- RegDelValue
-
- no longer treat a named value of [Default] as indicating the primary value
- for a key (and, therefore, it is now possible to access a value which is
- actually named "Default").
-
- In 32-bit version, fixed problem with international language strings not
- being used.
-
- New registry functions (32-bit version only):
-
- RegQueryExpSz(handle, subkey)
- Retrieves a REG_EXPAND_SZ value from the registry.
-
- RegQueryMulSz(handle, subkey, delimiter)
- Retrieves a REG_MULTI_SZ value from the registry.
-
- RegSetExpSz(handle, subkey, value)
- Sets a REG_EXPAND_SZ value in the registry.
-
- RegSetMulSz(handle, subkey, value, delimiter)
- Sets a REG_MULTI_SZ value in the registry.
-
- In 32-bit version, fixed problem with RegQuery... functions when there
- was a backslash between the subkey string and a named value, eg:
-
- RegQueryValue(mykey, "MySubKey[MyItem]", "some data") -- this worked
- RegQueryValue(mykey, "MySubKey\[MyItem]", "some data") -- this didn't
-
- RegQuery, RegQueryBin, and RegSetBin can now handle longer strings (up to
- available WIL string space).
-
- In 32-bit version, fixed problem with OLE string parameters.
-
- In 32-bit version, fixed problem with RegQueryBin with certain values.
-
- In 32-bit version, fixed problem with RegSetDword with large values.
-
- Fixed problem with TimeSubtract, where the result could have a day of "00"
- (eg, "96:04:00" instead of "96:03:31").
-
- In 16-bit version, fixed WinItemNameId.
-
- Fixed problem with BinaryHashRec crashing if there was only one record in
- the buffer.
-
-
- NetWare 3 extender 12014 First showing up in WB 96C
-
- Fixed n3FileAttrGet and n3FileAttrSet.
-
- n3FileAttrGet and n3FileAttrSet no longer support directories (use new
- functions n3DirAttrGet and n3DirAttrSet instead).
-
- New functions:
-
- n3DirAttrGet(dirname)
- Same as n3FileAttrGet, but for directory attributes.
-
- n3DirAttrSet(dirname, attribs, mode)
- Same as n3FileAttrSet, but for directory attributes.
-
- n3MapDir(net-path, local-name)
- Like n3Map, but performs a regular (non-root) map.
-
- n3MapRoot(net-path, local-name)
- Identical to n3Map.
-
- With n3Map[..], it is no longer necessary to add a trailing backslash when
- mapping to the root of a volume.
-
- New functions:
-
- n3CapturePrt(s:server-name, s:queue-name, i:port-number, s:flags)
-
- n3CaptureEnd(i:port-number)
- Ends a printer capture.
-
- n3GetUserId(s:server-name, s:user-name, i:format)
- Returns the object ID corresponding to the specified user name.
-
- n3ChgPassword(s:server-name, s:user-name, s:old-password, s:new-password)
- Changes a user's password.
-
- n3GetNetAddr(s:server, i:flags)
- Returns the internetwork address of the current workstation.
-
- n3ServerInfo(s:server, i:request)
- Returns information on the specified Netware server.
-
- n3UserGroups(s:server, s:username)
- Lists groups to which the specified user belongs.
-
- Added new request # to n3ServerList:
-
- 4 = all known servers (TAB-delimited list)
-
-
- NetWare 4 extender 14011 First showing up in WB 96C
-
- Fixed n4FileAttrGet and n4FileAttrSet.
-
- n4FileAttrGet and n4FileAttrSet no longer support directories (use new
- functions n4DirAttrGet and n4DirAttrSet instead).
-
- New functions:
-
- n4DirAttrGet(dirname)
- Same as n4FileAttrGet, but for directory attributes.
-
- n4DirAttrSet(dirname, attribs, mode)
- Same as n4FileAttrSet, but for directory attributes.
-
- n4MapDir(net-path, local-name)
- Like n4Map, but performs a regular (non-root) map.
-
- n4MapRoot(net-path, local-name)
- Identical to n4Map.
-
- With n4Map[..], it is no longer necessary to add a trailing backslash when
- mapping to the root of a volume.
-
- New functions:
-
- n4CapturePrt(s:server-name, s:queue-name, i:port-number, s:flags)
- Captures a local printer port to a Netware printer queue.
-
- n4CaptureEnd(i:port-number)
- Ends a printer capture.
-
- n4GetUserId(s:server-name, s:user-name, i:format)
- Returns the object ID corresponding to the specified user name.
-
- n4ChgPassword(s:server-name, s:user-name, s:old-password, s:new-password)
- Changes a user's password.
-
- n4GetNetAddr(s:server, i:flags)
- Returns the internetwork address of the current workstation.
-
- n4ServerInfo(s:server, i:request)
- Returns information on the specified Netware server.
-
- n4UserGroups(s:server, s:username)
- Lists groups to which the specified user belongs.
-
- Added new request # to n4ServerList:
-
- 4 = all known servers (TAB-delimited list)
-
-
- Windows 32 extender 10005
-
- netGetCon now accepts printer ports higher than LPT3 (up to LPT9).
-
-
- WB 96D June 26, 1996
-
- Fixed problem with PopMenu, when generating a file name based on an
- application whose class name contained characters that were not valid file
- name characters. PopMenu now strips off such characters when generating
- the file name (eg, class name of "Edit:App" becomes "EditApp.mnw").
-
- Fixed problem with PopMenu, where it would occasionally fail to launch the
- editor when editing/creating a menu file.
-
- In the 16-bit version, WinBatch now does not try to load CTL3DV2.DLL at
- startup unless the DLL is located in the Windows System directory.
-
- Compiler now searches path for extender DLL's, if they are not found in
- the compiler directory, when compiling a large EXE.
-
- Fixed problem with FileMenu locking up in some cases if the user rapidly
- clicked twice on a menu.
-
- Fixed problem with BoxDrawText with "alignment" = 32 (adjust font), where
- sometimes the displayed font was too large.
-
- Added two new alignment flags to BoxDrawText:
-
- 64 Right-justify text by adding space between words
- 128 Clip (truncate) text if it doesn't fit within specified rectangle
-
- In FileMenu, fixed a problem with the status bar descriptions under
- Windows NT 4.0.
-
-
- DLL 2.3dbm First showing up in WB 96D
-
- New functions:
-
- RegEntryType(i:handle, s:subkey)
- Returns the type of data for the specified subkey.
-
- RegQueryEx(i:handle, s:subkey, s:delimiter, i:type)
- Retrieves a value from the registry.
-
- RegSetEx(i:handle, s:subkey, s:value, s:delimiter, i:type)
- Sets a value in the registry.
-
- FileVerInfo(s:filename, s:language-key, s:resource-string)
- Returns a version resource string from a binary file.
-
- WinWaitExist(s:partial-winname, i:timeout)
- Waits for a top-level window to exist.
-
- WinWaitChild(s:partial-parent-winname, s:partial-child-winname, i:timeout)
- Waits for a child window to exist.
-
- New IntControl's:
-
- IntControl(41, p1, 0, 0, 0)
- Controls YmdHms format returned by time functions.
-
- IntControl(42, p1, 0, 0, 0)
- Get pointer to a binary buffer.
-
- Fixed problem with RegQueryItem, where only one item was being returned.
-
- In the 16-bit version, fixed a problem with WinMetrics(-4) returning 0
- under Windows for Workgroups if a secondary network (such as Netware) was
- installed.
-
- FileSize no longer returns an error if a wildcard file mask is specified
- which does not match any files; it now returns 0.
-
- All functions which take a YmdHms string as a parameter will now accept a
- string in the format "YYYY:MM:DD:HH:MM:SS" (ie, containing a 4-digit year).
-
- Fixed problem with time functions which return a YmdHms string (such as
- TimeAdd) with years >= 2000.
-
- Fixed problem with Delay function where the current year was >= 2000.
-
- Changed TimeJulianDay so that it treats 2-digit years in the input string
- as falling within the range 1950-2049 (eg, "96:04:01" is April 1, 1996).
- This is consistent with the behavior of the other time functions.
- Previously, TimeJulianDay was not adjusting the year, so that "96:04:01"
- would be treated as April 1, 0096. To retain the old behavior, you can
- specify a full 4-digit year (eg, "0096:04:01").
-
- TimeJulianDay now correctly calculates julian dates for leap years that
- are evenly divisible by 400 (such as 2000).
-
- AddExtender and DllCall/DllLoad now also look for the specified DLL in the
- directory where the WIL Interpreter application is located.
-
- In the 32-bit version, SendKey (and SendKeysTo and SendKeysChild) now
- attempt to wait until the active application is ready to accept input
- before sending each keystroke. This can be disabled with IntControl 43
- (see "DLL 2.3ebm" section, below).
-
- Fixed problem with RegQueryBin truncating long values.
-
- In the 16-bit version, fixed problem with FileAppend where the target was
- a UNC.
-
- Fixed memory allocation problem with WinWaitClose.
-
- The 32-bit version can now process batch and menu files which were saved
- by Notepad as Unicode text files. It may be able to handle Unicode text
- files created with other editors as well, as long as the first character
- in the file is a hexadecimal FFFE or FEFF.
-
- In the 32-bit version, the Dialog and DialogBox functions now properly set
- the current working directory when the user selects a file from a listbox.
-
- Fixed problem where an error that occurred in a CALL'ed script would not
- cancel the calling program.
-
- In the 32-bit version, fixed problem with FileCopy, FileMove, and
- FileAppend causing a crash if the specified source file did not exist and
- the specified target was a UNC.
-
- When AddExtender fails with an error 3437, it now displays a message box
- with some idea of what the problem may be, or with a Windows error code.
-
-
- NetWare 3 extender 12015 First showing up in WB 96D
-
- Fixed problem with n3ChgPassword.
-
- NOTE: Added "old-password" parameter to n3ChgPassword (changed from 96C).
-
-
- NetWare 4 extender 14012 First showing up in WB 96D
-
- Fixed problem with n4ChgPassword, when using bindery emulation.
-
- In the 32-bit version, fixed problem with Unicode initialization errors
- when using the Netware NT client.
-
-
- Windows 32 extender 10007 First showing up in WB 96D
-
- New functions:
-
- netResources(s:net-resource, i:scope, i:type, i:usage)
- Itemizes network resources.
-
-
- WB 96E June 27, 1996
-
- New IntControl:
-
- IntControl(1001, p1, 0, 0, 0) (32-bit only)
- Set service process status.
-
- For window class names beginning with "Afx", PopMenu now bases the menu
- name upon the application's module name instead of the class name.
-
-
- DLL 2.3ebm First showing up in WB 96E
-
- New IntControl:
-
- IntControl(43, p1, 0, 0, 0) (32-bit only)
- Enable/disable "WaitForInputIdle".
-
-
- WB 96F Oct 18, 1996
-
- In BoxTextFont, expanded the "pitch & family" parameter to now be
- "pitch & family & character-set".
-
- New IntControls:
-
- IntControl(1002, p1, 0, 0, 0)
- Sets icon display state.
-
- IntControl(1003, p1, 0, 0, 0)
- Prevents WinBatch icon from being opened.
-
- IntControl(1004, 0, 0, 0, 0)
- Returns the file name of the current WinBatch program.
-
- Fixed a problem with BoxButtonWait returning erroneously when the Enter or
- Escape key was pressed.
-
- Fixed a problem where FileMenu was getting added twice to the menus of
- shortcut files. This occurred if a user removed the "IsShortcut" value
- from the "lnkfile" key in the registry.
-
- Fixed a problem with excessive repainting in the Box functions.
-
- The compiler can now be used to compile an encoded or encrypted WBT to an
- EXE file.
-
- If you try to compile a source WBT which is already encoded or encrypted
- to a target type which is an encoded or encrypted WBT, no processing will
- be done on the file and the target will be identical to the source. In
- other words, you cannot use the compiler to re-encode or re-encrypt a WBT,
- or convert an encoded WBT to an encrypted WBT (or vice versa).
-
- It is now possible to specify an "AutoExec" WIL script that will be called
- before every WinBatch program that you run. This would be a convenient
- place to set global variables, or perform standard startup commands, such
- as AddExtender or IntControl.
-
-
- DLL 2.3fbn First showing up in WB 96F
-
- New functions:
-
- FindWindow(s:class-name)
- Returns the window title matching a specified class name.
-
- RegConnect(s:computer-name, i:handle) (32-bit only)
- Connects to a predefined registry handle on another computer.
-
- RegQueryKeys(i:handle)
- Returns a tab-delimited list of subkey names under a specified key.
-
- StrFixLeft(base-string, pad-string, length)
- Pads or truncates the left side of a string to a fixed length using bytes.
-
- StrFixCharsL(base-string, pad-string, length)
- Pads or truncates the left side of a string to a fixed length using characters.
-
- BinaryOleType(i:bin-handle, i:type, i:reserved-1, i:reserved-2, i:reserved-3)
- Specifies how a binary buffer will be used by OLE functions.
-
- DiskVolInfo(root-path, request#) (32-bit only)
- Returns information on a file system volume.
-
- Yields(i:count)
- Provides time for other windows to do processing.
-
- RegLoadHive(i:handle, s:subkey, s:filename) (32-bit only)
- Loads a hive into a registry subkey.
-
- RegUnloadHive(i:handle, s:subkey) (32-bit only)
- Unloads a hive from the registry.
-
- StrIndexNc(s:string, s:sub-string, i:start, i:direction)
- Searches a string for a sub-string, ignoring case.
-
- New IntControls:
-
- IntControl(44, p1, 0, 0, 0)
- Returns the class name for specified window handle.
-
- IntControl(45, p1, 0, 0, 0) (32-bit only)
- Enable/disable "SendKey speedup" in DOS programs in Windows NT.
-
- IntControl(46, p1, 0, 0, 0) (32-bit only)
- Set window retry timeout.
-
- IntControl(47, p1, 0, 0, 0)
- Closes another WinBatch program.
-
- IntControl(48, p1, 0, 0, 0)
- Closes a DOS program.
-
- IntControl(49, p1, 0, 0, 0)
- Add system menus to popup windows.
-
- IntControl(50, p1, 0, 0, 0)
- Controls whether "Go to web page" button is added to error boxes.
-
- IntControl(51, p1, 0, 0, 0) (32-bit only)
- Specifies flags for CreateProcess.
-
- Fixed problem with RegDelValue under Windows NT.
-
- In the 32-bit version, fixed problem with Ctrl-Break not working during a
- RunWait.
-
- In the 32-bit version, FileCopy can now copy files to COM and LPT ports
- (the 16-bit version has always been able to do this).
-
- Increased the maximum number of extender entries from 100 to 200.
-
- In the 32-bit version of FileVerInfo, if you specify a blank string for
- "language-key", it will first try to look up the item under the language
- key "040904E4" (U.S. English w/ Windows Multilingual character set). If
- that fails, it will then try the key "040904B0" (U.S. English w/ Unicode
- character set).
-
- FileVerInfo now returns a blank string ("") if the specified item was not
- found, instead of returning an error.
-
- Fixed problem passing the number -2147483648 as a string parameter to
- functions.
-
- In the 32-bit version, fixed FileExist so that it actually returns a value
- of 2 (as documented) if the file is open by another application. It was
- returning a 1.
-
- Fixed problem with the Random() function crashing if a negative number was
- specified.
-
- Added new request #'s for WinMetrics:
-
- -6 pixels per horizontal dialog unit (rounded to an integer)
- -5 pixels per vertical dialog unit (rounded to an integer)
-
- Fixed problem with Debug displaying a return value of 0 for the last
- command in a script, if there was more than one blank line at the end of
- the script file.
-
- Fixed "Opening parenthesis missing" error when using a variable name such
- as 'max_users', where the portion of the variable name which preceded the
- underscore (ie, 'max') was the same as the name of a WIL function.
-
- In 32-bit version, fixed problem with Wallpaper() function in Windows NT 4.0.
-
- In 32-bit version, fixed problem with Display() function not timing out in
- some unusual cases.
-
- If you do an Exit from a called script, it will now really exit the program
- instead of returning to the calling script.
-
- In 32-bit version, you can now specify a blank section name for
- IniItemizePvt, but the specified INI file name must be a real file, not
- a "virtual" file that has been mapped to the registry.
-
- In 16-bit version, fixed a problem with WinMetrics(-4) returning 0 under
- Windows 3.1 if a network (such as Netware) was installed.
-
- In 32-bit version, changed NetInfo:
-
- NetInfo(0) will always return the string "WINNT", regardless of the
- operating system. This is consistent with previous behavior.
-
- NetInfo(1) will now depend on the operating system:
-
- Under Windows 95, NetInfo(1) will return a list of installed network
- client ID's, delimited with the standard file delimiter (by default, a
- tab).
-
- Under Windows NT, NetInfo(1) will return a list of installed network
- provider ID's, delimited with the standard file delimiter (by default,
- a tab).
-
- Fixed problem with Display() function causing a "DlgPointLookup Failure"
- if you put the Display() in a loop and held down the spacebar.
-
- In 32-bit version, improved the problem of SendKey (and SendKeysTo and
- SendKeysChild) sending keystrokes very slowly to DOS programs in Windows
- NT. The speedup seems more noticeable in NT 4.0, although there should
- be some improvement in NT 3.51 as well. If this new "SendKey speedup"
- mode causes problems, it can be disabled with the new IntControl(45).
-
- Fixed problem with using WaitForKey twice in a row to wait for the same
- key, where the second WaitForKey returned immediately and didn't wait.
-
- In 32-bit version, fixed problem with PlayWaveForm not working if a
- keyword was specified (eg, "SystemStart") instead of a filename.
-
- In 32-bit version, fixed problem with StrCmp, StrCmpi, and BinarySort,
- when comparing or sorting two strings which were the same except for a
- hyphen or apostrophe (eg, "coop" and "co-op"). StrCmp and StrCmpi would,
- in some cases, return 1 instead of -1 (and vice versa), and BinarySort
- would sort the two strings improperly.
-
- In Dialog function, fixed problem with radio buttons having text
- descriptions longer than 60 characters always being selected by default.
-
- In 32-bit version, changed the way the Run[..] functions launch data files.
-
- KeyToggleGet and KeyToggleSet now work properly in the 32-bit version.
-
- Sounds now defaults to @OFF in the 32-bit version.
-
- Fixed a problem sending Alt-key combinations and other extended keystrokes
- to a small number of unusual DOS programs, particularly the DOS EDIT.COM.
-
-
- NetWare 3 extender 12016 First showing up in WB 96F
-
- (Note: the internal version number is mistakenly set as 12015)
-
- New function:
-
- n3CaptureGet(i:port-number)
- Returns the name of the print queue associated with a printer capture.
-
- Fixed problem with n3ServerList(request #'s 1 and 2) returning a blank
- string or garbage characters in the WWN3Z32I.DLL version.
-
- In the 32-bit version, fixed problem with n3CaptureEnd returning 0 and not
- ending the capture.
-
-
- NetWare 4 extender 14014 First showing up in WB 96F
-
- New functions:
-
- n4CaptureGet(i:port-number)
- Returns the name of the print queue associated with a printer capture.
-
- n4ObjectList(s:context, s:parent, s:class, s:mask)
- Lists objects in a Directory Services tree.
-
- n4ObjectInfo(s:context, s:object, i:request)
- Returns information on the specified object.
-
- n4ObjectProps(s:context, s:object, s:attribute)
- Returns properties of the specified object.
-
- n4NameConvert(s:context, s:object, i:format)
- Converts an object name to a different format.
-
- In the 32-bit version, fixed problem with n4CaptureEnd returning 0 and not
- ending the capture.
-
- Fixed problem with n4MemberGet erroneously returning @FALSE in some cases.
-
- Fixed problem with n4ServerList(4) only returning the names of servers
- that were located in the current context.
-
-
- Windows 32 extender 11000 First showing up in WB 96F
-
- Split the Windows 32 extender (WWNET32I.DLL) into separate extenders for
- Windows 95 (WWW9532I.DLL) and Windows NT (WWWNT32I.DLL). The existing
- net[..] functions have been renamed to w95[..] and wnt[..], respectively:
-
- Old Windows 32 New Windows 95 New Windows NT
- -------------- -------------- --------------
- netAddDrive w95AddDrive wntAddDrive
- netAddPrinter w95AddPrinter wntAddPrinter
- netCancelCon w95CancelCon wntCancelCon
- netDirDialog w95DirDialog wntDirDialog
- netGetCon w95GetCon wntGetCon
- netGetUser w95GetUser wntGetUser
- netResources w95Resources wntResources
- netVersion w95Version wntVersion
-
- For backwards compatability, we are continuing to distribute an extender
- DLL named WWNET32I.DLL which supports the existing net[..] functions.
- However, this DLL is a "wrapper" or "shell" which calls the appropriate
- platform-specific extender DLL (ie, WWW9532I.DLL or WWWNT32I.DLL).
- Therefore, one of these two DLL's (depending on the operating system being
- used) will need to be available (either in the current directory, in the
- same directory as WWNET32I.DLL, or in a directory on the path).
-
-
- Windows 95 extender 11000 First showing up in WB 96F
-
- New functions:
-
- w95ShareAdd(s:server-name, s:resource, s:share-name, i:share-type, i:flags)
- Shares a resource.
-
- w95ShareSet(s:server-name, s:share-name, s:comment, s:full-password, s:read-password)
- Sets additional share information for a resource.
-
- w95ShareDel(s:server-name, s:share-name)
- Un-shares a resource.
-
- w95AccessAdd(s:server-name, s:resource, s:user/group name, i:access-rights, i:flags)
- Adds or updates an access (permission) record for a resource.
-
- w95AccessDel(s:server-name, s:resource, s:user/group name)
- Removes an access (permission) record from a resource.
-
- w95ListGroups(s:server)
- Lists all global user groups in an NT domain.
-
- w95MemberGet(s:server, s:group, s:user)
- Determines if user is a member of a global group in an NT domain.
-
- w95MemberSet(s:server, s:group, s:user)
- Adds user to a global group in an NT domain.
-
- w95MemberDel(s:server, s:group, s:user)
- Removes user from a global group in an NT domain.
-
- w95MemberGrps(s:server, s:user)
- Lists all global groups in an NT domain to which a user belongs.
-
- w95MemberList(s:server, s:group)
- Lists all members of a global group in an NT domain.
-
-
- Windows NT extender 11000 First showing up in WB 96F
-
- New functions:
-
- wntShareAdd(s:server-name, s:resource, s:share-name, i:share-type, i:max-users)
- Shares a resource.
-
- wntShareSet(s:server-name, s:resource/share-name, i:share-type, s:comment, s:location)
- Sets additional share information for a resource.
-
- wntShareDel(s:server-name, s:resource/share-name, i:share-type)
- Un-shares a resource.
-
- wntAccessAdd(s:server-name, s:resource/share-name, s:user/group name, i:object-type, s:access-string)
- Adds or updates access (permission) records for a resource.
-
- wntAccessDel(s:server-name, s:resource/share-name, s:user/group name, i:object-type)
- Removes access (permission) records from a resource.
-
- wntAccessGet(s:server-name, s:resource/share-name, s:user/group name, i:object-type)
- Returns access (permission) records for a resource.
-
- wntListGroups(s:server, i:group-type)
- Lists all user groups on a server or domain.
-
- wntMemberGet(s:server, s:group, s:user, i:group-type)
- Determines if user is a member of a group.
-
- wntMemberSet(s:server, s:group, s:user, i:group-type)
- Adds user to a group.
-
- wntMemberDel(s:server, s:group, s:user, i:group-type)
- Removes user from a group.
-
- wntMemberGrps(s:server, s:user, i:group-type, i:flags)
- Lists all groups to which a user belongs.
-
- wntMemberList(s:server, s:group, i:group-type)
- Lists all members of a user group.
-
- wntResources2(s:net-resource, i:scope, i:type, i:usage, s:provider)
- Itemizes network resources.
-
- wntServiceAt(s:server, s:domain, i:server-type, s:service-name, i:flags)
- Lists all servers in a domain which contain a specified service.
-
- wntChgPswd(s:server/domain, s:user, s:old-pass, s:new-pass)
- Changes a user's password.
-
-
- Windows 3.1 (Basic) extender 15003 First showing up in WB 96F
-
- w3AddCon and w3GetCon now accept printer ports higher than LPT3 (up to LPT9).
-
-
- Windows for Workgroups (MultiNet) extender 16002 First showing up in WB 96F
-
- wnAddCon and wnGetCon now accept printer ports higher than LPT3 (up to LPT9).
-
- All functions which change the active sub-network now restore it afterwards.
- This fixes a problem with using NetInfo after one of the extender functions.
-
-
- WILX extender 11105 First showing up in WB 96F
-
- In the 32-bit version, changed xMemCompact:
-
- In Windows 95, this function is not supported and will return 0.
-
- In Windows NT, this function has been fixed to use the appropriate Win32
- system calls. Since there's no distinction between local and global
- memory in NT, it doesn't make any difference whether you specify a
- 'type' of 0 or 1.
-
-
- WB 96G Oct 21, 1996
-
- Changed "AutoExec" processing (see "WB 96F" section, above), as follows:
-
- The file names specified by "AutoExecWbc" and "AutoExecWbt" cannot
- contain any path information (ie, no '\' or ':' characters). If they
- do, they will be ignored. These files must be located in the same
- directory as the WinBatch program (ie, for "AutoExecWbc", the directory
- where your compiled WinBatch script is located; and for "AutoExecWbt",
- the directory where WINBATCH.EXE or WBAT16I.EXE is located).
-
-
- DLL 2.3gbn First showing up in WB 96G
-
- Fixed string memory leak when comparing "floating point string" variables, eg:
- x = "1.25"
- If x != 0 Then y = 1
-
- FileVerInfo now returns the string "NONE" if no version information is
- available for the specified file (previously, it returned an error).
-
-
- Windows NT extender 11001 First showing up in WB 96G
-
- Fixed problem with wntAccessAdd, when accessing registry keys.
-
-
- Windows 3.1 (Basic) extender 15004 First showing up in WB 96G
-
- Fixed problem with the extender not loading due to a "wrong platform" error.
-
-
- WB 96H Nov 4, 1996
-
- In compiler, fixed a problem creating an EXE if the 'TEMP' environment
- variable pointed to an invalid directory.
-
-
- DLL 2.3hbn First showing up in WB 96H
-
- You can now specify partial child window names beginning with a tilde (~)
- (see "DLL 2.2abj" section, above).
-
- In Debug mode, a couple of status strings were not being displayed when
- appropriate: "*** Debug Initialized ***" and "IF DO==>FALSE".
-
-
- WB 96J Nov 5, 1996
-
- Fixed problem with BoxDestroy not removing buttons.
-
-
- DLL 2.3jbn First showing up in WB 96J
-
- In 32-bit version, fixed problem with network licensing.
-
- Fixed problem parsing constant names which contain underscores (eg,
- "@ATTR_RO") (this bug first appeared in 2.3fbn).
-
- Improved MouseClick function. Double-clicks should now work better (there
- was a problem with some applications). In the 32-bit version, improved
- the method of emulating other types of clicks, especially when using
- modifiers such as @SHIFT and @CTRL.
-
- Fixed problem with SendMenusTo with double-byte character sets.
-
- In the Dialog function, fixed problem where the dialog would be centered
- on the screen if you specified a small number (less than 20 or so) for the
- Y (vertical) coordinate.
-
- In 32-bit version, improved the reliability of the DiskFree and DiskSize
- functions with drives larger than 2 gigabytes, under Windows 95 OEM
- Service Release 2 or higher. Under earlier versions of Windows 95, these
- functions may not return accurate results. Under NT, there is no problem.
-
-
- Windows NT extender 11002 First showing up in WB 96J
-
- New functions:
-
- wntOwnerGet(s:server-name, i:reg-key, s:resource-name, i:object-type, i:flag)
- Returns the owner of an object.
-
- wntOwnerSet(s:server-name, i:reg-key, s:resource-name, i:object-type, s:user/group name)
- Takes ownership of an object.
-
-
- NetWare 3 extender 12017 First showing up in WB 96J
-
- n3MsgSend now returns @FALSE if the specified user is not logged in, and
- returns an error if an invalid user name is specified.
-
-
- NetWare 4 extender 14015 First showing up in WB 96J
-
- Fixed problem with n4CaptureGet returning an incorrect name in some cases.
-
- Changed n4CaptureGet to return an abbreviated name relative to the current
- context (eg, "Printer1.Print") instead of a canonical name
- (eg, "Printer1.Print.Sales").
-
- n4MsgSend now returns @FALSE if the specified user is not logged in, and
- returns an error if an invalid user name is specified.
-
-
- WB 96K Dec 9, 1996
-
- Fixed problem (introduced in 96J) with large EXE's failing to extract the
- embedded DLL's if launched from a UNC (with a "Disk space lookup" error).
-
-
- DLL 2.3kbn First showing up in WB 96K
-
- Fixed problem (introduced in 96J) with FileCopy, FileMove, and FileAppend
- failing if the target was a UNC (with an "Insufficient free space" error).
-
- Fixed problem with DirExist returning @FALSE for a top-level UNC (eg,
- "\\FredsPC\C").
-
-
- WB 96M Dec 12, 1996
-
-
- DLL 2.3mbn First showing up in WB 96M
-
- In 32-bit version, fixed problem with SendKey causing a system crash under
- NT 4.0 when sending keystrokess to two different windows and switching
- back and forth rapidly between them.
-
-
- NetWare 3 extender 12018 First showing up in WB 96M
-
- Fixed problem with n3GetMapped truncating the server name parameter after
- 14 characters (instead of 16).
-
-
- NetWare 4 extender 14016 First showing up in WB 96M
-
- Fixed problem with n4GetMapped truncating the server name parameter after
- 14 characters (instead of 16).
-
-
- WB 97A Jun 12, 1997
-
- New IntControl's:
-
- IntControl(1005, p1, 0, 0, 0)
- Gets or starts shutdown script mode.
-
- This IntControl allows you to specify a script that will run when Windows
- is shut down or (in Windows 95 and Windows NT) when the user logs off.
-
- P1 Meaning
- -- -------
- 0 Get shutdown state (@TRUE if in shutdown mode, @FALSE if normal script)
- 1 Enter shutdown mode
-
- If "p1" == 0, the function will return a TRUE/FALSE flag indicating whether
- the current WinBatch script is running in shutdown mode. If "p1" == 1,
- the current script will stop processing and will enter shutdown mode.
-
- When WinBatch enters shutdown mode, it stops processing the current script,
- closes the normal WinBatch window, and stays running in the background
- waiting for Windows to shut down (or the user to log off). When this
- shutdown event occurs, WinBatch re-loads the script (the same script that
- was running when shutdown mode was entered) and runs it again from the
- beginning. If the script that was previously running was launched via a
- "Call" command, WinBatch will re-load and run the parent (calling) script.
-
- The actual shutdown procedure varies a bit among different versions of
- Windows. Here is what happens, step-by-step, when WinBatch is in
- shutdown mode, and the user initiates a Windows shutdown (or logoff):
-
- Windows 3.1 / Windows for Workgroups:
-
- Windows queries all running applications, asking whether they agree
- to close. WinBatch agrees to close. If all the other apps agree to
- close as well, then Windows informs all the apps that the session is
- ending. At that time, WinBatch runs the script. When the script is
- finished, Windows shuts down.
-
- Windows 95:
-
- Windows queries all running applications, asking whether they agree
- to close. WinBatch agrees to close. If all the other apps agree to
- close as well, then Windows informs all the apps that the session is
- ending. At that time, WinBatch runs the script. When the script is
- finished, the Windows session ends. If the script takes more than
- about 20 seconds to run, Windows unconditionally terminates the
- script and the Windows session ends.
-
- Windows NT:
-
- Windows queries each running application in turn, asking whether it
- agrees to close. When it queries WinBatch, WinBatch displays a
- message box, asking the user to first close all other open windows.
- When the user presses the "OK" button in the message box, WinBatch
- agrees to close, then Windows informs WinBatch that the session is
- ending, and then WinBatch runs the script. (If, however, the user
- presses the "Cancel" button in the message box, WinBatch refuses to
- close, and the shutdown process is cancelled.) If the script takes
- more than about 20 seconds to run, Windows displays a message box,
- giving the user an opportunity to terminate WinBatch, but the script
- continues processing until the user responds to the message. When
- the script is finished, if there are any other apps still running,
- Windows continues querying each app in turn, asking whether it agrees
- to close. Ater all the apps agree to close, the Windows session ends.
- If any app refuses to close, the shutdown process is cancelled.
-
- Example:
- rc = IntControl(1005, 0, 0, 0, 0) ; get shutdown state
-
- If rc == @FALSE ; if we're running as a normal script
- IntControl(1005, 1, 0, 0, 0) ; enter shutdown mode
- Exit ; this 'Exit' is not really necessary
- Endif
-
- ; if we got here, we're running in shutdown mode
- Display(1, "Windows Shutdown", "WinBatch shutdown processing begins now")
- ErrorMode(@OFF)
- FileDelete("c:\temp\*.tmp")
- ErrorMode(@CANCEL)
-
- IntControl(1006, 0, 0, 0, 0)
- Returns the un-parsed WinBatch command line.
-
- This returns the actual command line string that WinBatch was launched with.
-
- IntControl 1004 now returns a full path for compiled WinBatch EXE's.
-
- In 32-bit version, fixed problem with compiler where large (standalone)
- compiled EXE's run from a floppy drive were extracting the DLL to the
- floppy drive instead of to the Windows directory.
-
- Improved the internal version information in the executables and DLL's.
-
- Increased the amount of memory available for strings from 32000 bytes to
- 65500 bytes.
-
-
- DLL 2.4abp First showing up in WB 97A
-
- New functions:
-
- RegExistKey(handle, subkey-string)
- Checks whether a registry key exists.
-
- This function returns @TRUE if the specified registry key exists and
- is accessible (ie, can be opened with RegOpenKey). Otherwise, it
- returns @FALSE.
-
- See RegOpenKey for parameter information.
-
- RegExistValue(handle, subkey-string) (32-bit only)
- Checks whether a value for a registry key exists.
-
- This function returns @TRUE if the specified registry value (data
- item) exists and is accessible (ie, can be read with RegQuery[..]).
- Otherwise, it returns @FALSE.
-
- See RegQueryValue for parameter information.
-
- StrIndexWild(string, pattern, start)
- Finds wildcarded text within a larger string.
-
- Parameters:
- (s) string: The string to search in.
- (s) pattern: The wildcarded text to search for.
- (i) start: The position (in characters) within the string to begin searching.
-
- Returns:
- (i) The position (in characters) within the string where the text
- matching the wildcard pattern was found, or 0 if not found.
-
- In the wildcard pattern, "*" matches zero or more characters, and
- "?" matches any one character.
-
- Examples:
- StrIndexWild("abcd1234wxyz", "ab*wx", 1) ; would return 1
- StrIndexWild("abcd1234wxyz", "1*9", 1) ; would return 0 (no match)
- StrIndexWild("abcd1234wxyz", "1*4", 1) ; would return 5
- StrIndexWild("abcd1234wxyz", "1?34*z", 1) ; would return 5
-
- StrLenWild(string, pattern, start)
- Returns the length of wildcarded text within a larger string.
-
- Parameters:
- (s) string: The string to look in.
- (s) pattern: The wildcarded text to match.
- (i) start: The position (in characters) within the string to begin matching.
-
- Returns:
- (i) The length (in characters) of the portion of the string that matches
- the wildcard pattern, or 0 if no match at the specified position.
-
- In the wildcard pattern, "*" matches zero or more characters, and
- "?" matches any one character.
-
- Examples:
- StrLenWild("abcd1234wxyz", "ab*wx", 1) ; would return 10
- StrLenWild("abcd1234wxyz", "1*9", 1) ; would return 0
- StrLenWild("abcd1234wxyz", "1*4", 5) ; would return 4
- StrLenWild("abcd1234wxyz", "1?34*z", 5) ; would return 8
-
- StrSubWild(string, pattern, start)
- Extracts a substring matching wildcarded text from within a larger string.
-
- Parameters:
- (s) string: The string to look in.
- (s) pattern: The wildcarded text to match.
- (i) start: The position (in characters) within the string to begin matching.
-
- Returns:
- (s) The portion of the string matched by the wildcard pattern.
-
- In the wildcard pattern, "*" matches zero or more characters, and
- "?" matches any one character.
-
- Examples:
- StrSubWild("abcd1234wxyz", "ab*wx", 1) ; would return "abcd1234wx"
- StrSubWild("abcd1234wxyz", "1*9", 1) ; would return ""
- StrSubWild("abcd1234wxyz", "1*4", 5) ; would return "1234"
- StrSubWild("abcd1234wxyz", "1?34*z", 5) ; would return "1234wxyz"
-
- ClipGetEx(format)
- Returns the contents of the Windows clipboard in a specified format.
-
- This function is similar to ClipGet, but it allows to you specify
- the format in which the text is returned. Valid formats are:
-
- Format Meaning
- ------ -------
- 1 (CF_TEXT) Standard ANSI text (same as ClipGet).
- 7 (CF_OEMTEXT) Text containing characters in the OEM character set.
- 13 (CF_UNICODETEXT) Unicode text format (32-bit version under Windows NT only)
-
- WinItemizeEx(s:partial-winname, i:multiple, i:hidden)
- Returns the full name of window(s) matching a partial window name.
-
- 'partial-winname' specifies a partial window name to look for. It
- can be a blank string (""), in which case it will match any window.
-
- Note: this function does not accept a Window ID as the
- 'partial-winname' parameter.
-
- If 'multiple' is @TRUE, then this function returns a tab-delimited
- list of all open windows that match 'partial-winname'. If 'multiple'
- is @FALSE, then it returns the name of the first open window found
- that matches 'partial-winname'. If no appropriate matching windows
- are found, it returns a blank string ("").
-
- If 'hidden' is @TRUE, then hidden windows are included in the list
- of returned windows. If 'hidden' is @FALSE, then hidden windows are
- not included. If 'hidden' is @FALSE and 'multiple' is @FALSE, then
- this function returns the name of the first visible (non-hidden)
- open window found that matches 'partial-winname'.
-
- Fixed problem with SendKey[..] in unusual cases displaying the error:
- "WinIsDos: Window not found or bad window".
-
- In 32-bit version, SendMenusTo now attempts to wait until the specified
- application window is ready to accept input (like SendKey[..] does). This
- can be disabled with IntControl(43).
-
- Changed DateTime/TimeDate and FileTimeGet to return a Day/Night code (eg,
- AM or PM) of from 0 to 4 characters (depending on what is set in the user's
- current International/Regional settings), instead of a fixed 2-character
- string, in order to support double-byte character sets. Therefore, the
- length of the string returned by DateTime/TimeDate will now vary from 22
- to 26 characters long, and the length of the string returned by FileTimeGet
- will now vary from 15 to 19 characters long, instead of being a fixed length.
-
- In the ItemExtract function, you can now specify -1 for "index" to return
- the last item in the list.
-
- In the Environment() function, the maximum value length has been increased
- from 256 bytes to 1280 bytes. It will return a blank string ("") for
- environment variables whose values are longer than 1280 bytes.
-
- FileSize no longer returns 0 if one of the specified files does not exist.
-
- FileDelete and DirRemove no longer return an error if one of the specified
- files or directories does not exist.
-
- In 32-bit version under international (non-US) versions of Windows NT, fixed
- problem with licensee names containing certain extended characters (eg, Kanji).
-
- In 32-bit version, the Run[..] commands now display a more informative
- error message on failure.
-
- In 32-bit version under Windows 95 and Windows NT 4.0, dialog boxes
- created with the Dialog command now use the default GUI font instead of
- the system font.
-
- In 32-bit version, fixed problem with functions that test for file
- existence when the full path and filename was longer than 128 characters.
-
- Fixed problem with BinaryIndex (and BinaryIndexNc) returning the offset
- past the end of the buffer (instead of 0) if the search string was blank
- and no non-NULL characters were found.
-
- Fixed problem with BinarySort causing random crashes if the key type was
- set to @WORD1 or @WORD2.
-
- Added a parameter to IntControl(50). P2 can now specify the URL of the
- web page to be launched when the user clicks on the "Go to Tech Support
- Web Page" button. If p2 is "" or 0, no change is made to URL that is
- currently set. The default is:
-
- IntControl(50, 1, "http://techsupt.windowware.com/", 0, 0)
-
- Fixed a problem with OLE calls crashing if the called function returned a
- NULL pointer; they now return a blank string in this case.
-
- In 32-bit version, added a tiny delay to WinPlaceGet and WinPlaceSet,
- to give newly-repositioned windows a chance to "settle down" before
- retrieving their coordinates, making the returned values more reliable.
-
- Fixed problem with IsNumber and IsFloat returning TRUE for some high ASCII
- characters.
-
-
- Windows 95 extender 11001 First showing up in WB 97A
-
- New function:
-
- w95FileClose(s:server-name, s:file-pathname)
- Close all network connections to a file.
-
- "server-name" is the name of a remote server on which the function
- will execute, or a blank string ("") to indicate the local computer.
-
- "file-pathname" is a fully-qualified file name (eg, "C:\DOC\MYFILE.TXT").
- NOTE: The file name MUST be fully-qualified.
-
- Returns @TRUE on success, or @FALSE if the specified file was not open.
-
- Example:
- w95FileClose("", "C:\DOC\MYFILE.TXT")
-
- w95ServiceAt(s:server, s:domain, i:server-type, s:service-name, i:flags)
- Lists all servers in a domain which contain a specified service.
-
- "server" is the UNC name of the server on which the function will
- execute (eg, "\\MYSERVER").
-
- "domain" is the name of the domain which will be used (eg, "SALES"),
- or "" for the primary domain.
-
- "server-type" identifies the type of servers which will be examined.
- You can specify -1 for all servers. Or, you can specify one or more
- of the following flags, combined using the binary OR ("|") operator;
- servers meeting
-
- 1 All LAN Manager workstation
- 2 All LAN Manager server
- 4 Any server running with Microsoft SQL Server
- 8 Primary domain controller
- 16 Backup domain controller
- 32 Server running the timesource service
- 64 Apple File Protocol servers
- 128 Novell servers
- 256 LAN Manager 2.x Domain Member
- 512 Server sharing print queue
- 1024 Server running dialin service
- 2048 Xenix server
- 4096 Windows NT (either workstation or server)
- 8192 Server running Windows for Workgroups
- 16384 Microsoft File and Print for Netware
- 32768 Windows NT Non-DC server
- 65536 Server that can run the browser service
- 131072 Server running a browser service as backup
- 262144 Server running the master browser service
- 524288 Server running the domain master browser
- 4194304 Windows 95 or newer
- -2147483648 Domain announcement
-
- "service-name" is the name of the service to be looked for.
-
- "flags" specifies information on the service being looked for. It
- consists of one entry from each of the following three groups, added
- together:
-
- service type:
-
- 1 services
- 2 drivers
- 3 both (services and drivers)
-
- service state:
-
- 100 active services
- 200 inactive services
- 300 both (active and inactive)
-
- name type (indicates what the "service-name" parameter represents):
-
- 0 display name (the name shown in Control Panel)
- 1000 service name (the actual registry key name)
-
- Returns a tab-delimited list of server UNC names (eg, "\\MYSERVER").
-
- Note: An NT workstation can be considered to be a "server".
-
- Note: This function can take a while to run, depending on how many
- servers are in the domain. Also, it will only return the names of
- servers which it is able to access, which requires that the user
- have browse access to their service control managers.
-
- Note: In order to use this function, you must have an NT domain
- server, and you must have RADMIN32.DLL and RLOCAL32.DLL present.
- These DLL's can be found in the Microsoft Windows 95 Service Pack 1.
-
- w95ShareInfo(s:server-name, s:share-name, i:request)
- Returns information about a shared resource.
-
- "request" specifies the information to be returned, and can be one
- of the following:
-
- 0 (s) share name
- 1 (s) resource
- 2 (s) comment
- 4 (s) full password
- 5 (s) read password
- 6 (i) share type
- 7 (i) flags
-
- See w95ShareAdd and w95ShareSet for information on these
- parameters and values.
-
- Returns a string or integer, depending on "request".
-
- w95UserInfo(i:request)
- Returns information about the currently logged-on user.
-
- "request" specifies the information to be returned, and can be one
- of the following:
-
- Value Name Meaning
- ----- ---- -------
- 0 user name name of the user currently logged on to the workstation
- 1 logon domain domain name of the user account of the user currently logged on to the workstation
- 2 other domains space-delimited list of other LAN Manager domains browsed by the workstation
- 3 logon server name of the computer that authenticated the server
-
- Returns a string.
-
- Note: In order to use this function, you must have RADMIN32.DLL and
- RLOCAL32.DLL present. These DLL's can be found in the Microsoft
- Windows 95 Service Pack 1.
-
-
- Windows NT extender 11003 First showing up in WB 97A
-
- New functions:
-
- wntFileClose(s:server-name, s:file-pathname)
- Close all network connections to a file.
-
- "server-name" is the name of a remote server on which the function
- will execute, or a blank string ("") to indicate the local computer.
-
- "file-pathname" is a fully-qualified file name (eg, "C:\DOC\MYFILE.TXT").
- NOTE: The file name MUST be fully-qualified.
-
- Returns @TRUE on success, or @FALSE if the specified file was not open.
-
- Example:
- wntFileClose("", "C:\DOC\MYFILE.TXT")
-
- wntAccessList(s:server-name, s:resource/share-name, i:object-type, i:flags)
- Returns list of users who have access (permission) records for a resource.
-
- Returns a tab-delimited list of users and groups who have access
- records for "resource/share-name"; ie, users and groups for whom
- permissions have explicitly been set. Returns a blank string ("")
- if there are no appropriate records.
-
- "flag" specifies the format of the returned names, and can be one
- of the following:
-
- 0 account (eg, "johndoe")
- 1 domain\account (eg, "OFFICE\johndoe")
-
- Note: For built-in accounts which are predefined by the system
- (eg, "Administrators"), only the account name is returned,
- regardless of the "flag" setting.
-
- See "wntAccessAdd" for additional parameter information.
-
- Example:
- users = wntAccessList("", "Public", 100, 0)
-
- wntShareInfo(s:server-name, s:resource/share-name, i:share-type, i:request)
- Returns information about a shared resource.
-
- "request" specifies the information to be returned, and can be one
- of the following:
-
- 0 (s) share name
- 1 (s) resource
- 2 (s) comment
- 3 (s) location
- 6 (i) share type
- 8 (i) max users
- 9 (i) current users
-
- See wntShareAdd and wntShareSet for information on these
- parameters and values.
-
- Returns a string or integer, depending on "request".
-
- Note: This function can only be performed by members of the
- Administrators or Account Operators local group, or those with
- Communication, Print, or Server operator group membership.
-
- wntGroupInfo(s:server-name, s:group, s:group-type, i:request)
- Returns information about a group.
-
- "server" is the UNC name of the server on which the function will
- execute (eg, "\\MYSERVER"), or "" for the local computer.
-
- "group-type" can be @LOCALGROUP or @GLOBALGROUP.
-
- "request" specifies the information to be returned, and can be one
- of the following:
-
- 0 group name
- 1 group comment
-
- Returns a string.
-
- wntUserInfo(i:request)
- Returns information about the currently logged-on user.
-
- "request" specifies the information to be returned, and can be one
- of the following:
-
- Value Name Meaning
- ----- ---- -------
- 0 user name name of the user currently logged on to the workstation
- 1 logon domain domain name of the user account of the user currently logged on to the workstation
- 2 other domains space-delimited list of other LAN Manager domains browsed by the workstation
- 3 logon server name of the computer that authenticated the server
-
- Returns a string.
-
- wntSvcStart(s:server, s:service-name, i:flags, s:params, s:delimiter)
- Starts a service.
-
- "server" is the UNC name of the server on which the function will
- execute (eg, "\\MYSERVER"), or "" for the local computer.
-
- "service-name" is the name of a service.
-
- "flags" specifies the type of name that "service-name" represents:
-
- 0 display name (the name shown in Control Panel)
- 1000 service name (the actual registry key name)
-
- "params" specifies a delimited list of parameters to be passed to
- the service, or a blank string ("") for no parameters. You can
- select any character you wish to be the delimiter, and must set the
- "delimiter" parameter accordingly.
-
- Note: driver services do not receive parameters.
-
- "delimiter" specifies a single character, indicating the delimiter
- used for "params". For example, if "params" specifies a
- space-delimited list, then "delimiter" should be set to " ". If
- "params" is a blank string, then "delimiters" is ignored and can be
- set to a blank string.
-
- Returns 1.
-
- wntSvcControl(s:server, s:service-name, i:flags, i:control-code)
- Stops or controls a service.
-
- "control-code" specifies the operation to be performed. It can be
- one of the following standard control codes:
-
- Value Name Meaning
- ----- ---- -------
- 1 SERVICE_CONTROL_STOP Requests the service to stop.
- 2 SERVICE_CONTROL_PAUSE Requests the service to pause.
- 3 SERVICE_CONTROL_CONTINUE Requests the paused service to resume.
- 4 SERVICE_CONTROL_INTERROGATE Requests the service to update immediately its current
- status information to the service control manager.
-
- Or it can be a user-defined control code in the range of 128 to 255,
- inclusive.
-
- See "wntSvcStart" for additional parameter information.
-
- Returns 1.
-
- wntSvcStatus(s:server, s:service-name, i:flags, i:request)
- Returns status information for a service.
-
- "request" specifies the information to be returned, and can be one
- of the following:
-
- 1 ServiceType
- 2 CurrentState
- 3 ControlsAccepted
- 4 Win32ExitCode
- 5 ServiceSpecificExitCode
- 6 CheckPoint
- 7 WaitHint
-
- Further information on these values follows:
-
- ServiceType:
-
- The value returned includes one of the following service type flags to indicate the type
- of service. In addition, for a SERVICE_WIN32 service, the SERVICE_INTERACTIVE_PROCESS
- flag might be set, indicating that the service process can interact with the desktop.
-
- Value Name Meaning
- ----- ---- -------
- 1 SERVICE_KERNEL_DRIVER A service type flag that indicates a Windows NT
- device driver.
- 2 SERVICE_FILE_SYSTEM_DRIVER A service type flag that indicates a Windows NT file
- system driver.
- 16 SERVICE_WIN32_OWN_PROCESS A service type flag that indicates a Win32 service
- that runs in its own process.
- 32 SERVICE_WIN32_SHARE_PROCESS A service type flag that indicates a Win32 service
- that shares a process with other services.
- 256 SERVICE_INTERACTIVE_PROCESS A flag that indicates a Win32 service process that
- can interact with the desktop.
-
- CurrentState:
-
- Indicates the current state of the service. One of the following values is specified:
-
- Value Name Meaning
- ----- ---- -------
- 1 SERVICE_STOPPED The service is not running.
- 2 SERVICE_START_PENDING The service is starting.
- 3 SERVICE_STOP_PENDING The service is stopping.
- 4 SERVICE_RUNNING The service is running.
- 5 SERVICE_CONTINUE_PENDING The service continue is pending.
- 6 SERVICE_PAUSE_PENDING The service pause is pending.
- 7 SERVICE_PAUSED The service is paused.
-
- ControlsAccepted:
-
- Specifies the control codes that the service will accept and process. A user interface
- process can control a service by specifying a control command in the ControlService
- function. By default, all services accept the SERVICE_CONTROL_INTERROGATE value. Any
- or all of the following flags can be specified to enable the other control codes.
-
- Value Name Meaning
- ----- ---- -------
-
- 1 SERVICE_ACCEPT_STOP The service can be stopped. This enables the
- SERVICE_CONTROL_STOP value.
- 2 SERVICE_ACCEPT_PAUSE_CONTINUE The service can be paused and continued. This
- enables the SERVICE_CONTROL_PAUSE and
- SERVICE_CONTROL_CONTINUE values.
- 4 SERVICE_ACCEPT_SHUTDOWN The service is notified when system shutdown
- occurs. This enables the system to send a
- SERVICE_CONTROL_SHUTDOWN value to the service.
- The ControlService function cannot send this
- control code.
-
- Win32ExitCode
-
- Specifies a Win32 error code that the service uses to report an error that occurs when
- it is starting or stopping. To return an error code specific to the service, the
- service must set this value to ERROR_SERVICE_SPECIFIC_ERROR to indicate that the
- dwServiceSpecificExitCode member contains the error code. The service should set this
- value to NO_ERROR when it is running and on normal termination.
-
- ServiceSpecificExitCode
-
- Specifies a service specific error code that the service returns when an error occurs
- while the service is starting or stopping. This value is ignored unless the
- dwWin32ExitCode member is set to ERROR_SERVICE_SPECIFIC_ERROR.
-
- CheckPoint
-
- Specifies a value that the service increments periodically to report its progress during
- a lengthy start, stop, or continue operation. For example, the service should increment
- this value as it completes each step of its initialization when it is starting up. The
- user interface program that invoked the operation on the service uses this value to
- track the progress of the service during a lengthy operation. This value is not valid
- and should be zero when the service does not have a start, stop, or continue operation
- pending.
-
- WaitHint
-
- Specifies an estimate of the amount of time, in milliseconds, that the service expects a
- pending start, stop, or continue operation to take before the service makes its next
- call to the SetServiceStatus function with either an incremented dwCheckPoint value or a
- change in dwCurrentState. If the amount of time specified by dwWaitHint passes, and
- dwCheckPoint has not been incremented, or dwCurrentState has not changed, the service
- control manager or service control program can assume that an error has occurred.
-
- See "wntSvcStart" for additional parameter information.
-
- Returns an integer.
-
- Changed wntResources2 to ignore 'net-resource' and 'provider' unless
- 'scope' is 2. This avoids an "invalid parameter" error from Windows.
-
-
- NetWare 3 extender 12019 First showing up in WB 97A
-
- n3CapturePrt was truncating the queue name at 47 characters; it now accepts
- queue names up to 65 characters long (the maximum length in Netware).
-
-
- NetWare 4 extender 14017 First showing up in WB 97A
-
- New functions:
-
- n4LogoutTree(s:context, s:tree)
- Logs out of Directory Services.
-
- "context" is a Directory Services context, or "" for the default context.
-
- "tree" is a Directory Services tree, or "" for the default tree.
-
- Note: the "tree" parameter is supported in the 32-bit version only.
-
- This function terminates a client's connection to the network. Unlike
- the n4Logout function, it does not detach from any servers.
-
- Returns @TRUE on success, or @FALSE if the user was not authenticated
- through Directory Services.
-
- n4UserGroupEx(s:server-name, s:user-name, s:context)
- Returns a list of groups to which the specified user belongs, in the specified context.
-
- "context" is a Directory Services context, or "" for the default context.
-
- This function is the same as n4UserGroups, but lets you specify a
- context for the operation.
-
- See "n4UserGroups" for additional parameter information.
-
- n4GetContext(i:request)
- Returns the current user's default context or tree.
-
- "request" specifies the information to be returned, and can be one
- of the following:
-
- Request Meaning
- ------- -------
- 0 Context
- 1 Tree (32-bit version only)
-
- Fixed problem with n4MemberGet returning values other than @TRUE or @FALSE.
-
- n4ObjectProps now returns a blank string ("") instead of an error if the
- specified "attribute" is not a valid attribute of "object".
-
- n4CapturePrt was truncating the queue name at 47 characters; it now accepts
- queue names up to 65 characters long (the maximum length in Netware).
-
-
- WILX extender 11106 First showing up in WB 97A
-
- New function:
-
- xEjectMedia(s:drive) (32-bit version only)
- Ejects removable media from a device.
-
- "drive" is the drive letter of the device (eg, "G", or "G:")
-
- This can be used to eject media such as a CD-ROM, tape, or cartridge.
-
- Returns TRUE on success, FALSE on failure
-
- Fixed problem with xDriveReady always returning @TRUE in Windows NT.
-
-
- WB 97B Jun 23, 1997
-
-
- DLL 2.4bbp First showing up in WB 97B
-
- In the Run... commands in the 32-bit version, fixed a problem with not
- looking up the application path in the registry if the "program-name"
- parameter contained any path information.
-
-
- WB 97C Jun 26, 1997
-
-
- DLL 2.4cbp First showing up in WB 97C
-
- New function:
-
- ShortcutDir(s:name) (32-bit only)
-
- Returns the name of the directory where shortcuts of type "name" are
- stored. This information is retrieved from the registry, under the key:
-
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
-
- Standard values for "name" include:
-
- Desktop
- Programs
- Fonts
- Recent
- SendTo
- Personal
- Startup
- Start Menu
- NetHood
- Favorites
- Templates
-
- Returns a directory name on success, or a blank string ("") if no
- corresponding value was found.
-
- New IntControl:
-
- IntControl(52, p1, 0, 0, 0) (32-bit only)
- Set dialog font.
-
- P1 Meaning
- -- -------
- -1 Don't change (just return current setting)
- 0 Use standard system font.
- 1 Use GUI font (default).
-
- This IntControl lets you specify whether the standard system font or
- GUI font is used by dialog boxes created with the Dialog command. By
- default, the GUI font is used.
-
- Note: The GUI font is available only in Windows 95 and Windows NT 4.0.
-
- Returns previous setting.
-
- Fixed problem with OLE calls crashing if they returned a NULL sub-object.
- They now return 0. Eg:
-
- App = ObjectOpen("Excel.Application")
- Sheet = App.ActiveSheet ; ** returns 0, because there is no worksheet
-
- Fixed problem with dialog boxes created with the Dialog function, where
- if you typed a file mask into a editbox associated with a filelistbox,
- there would be garbage characters at the end of the file mask.
-
- Fixed problem with BinaryIndex and BinaryIndex searching for characters
- with ASCII values >= 128.
-
- IntControl(5) now works in the 32-bit version. Before, it had no effect,
- and hidden and system files were always included. The default is now to
- exclude hidden and system files, as documented.
-
-
- Windows 95 extender 11002 First showing up in WB 97C
-
- Fixed problem with w95UserInfo crashing if RADMIN32.DLL was not available.
-
-
- WB 97D Aug 21, 1997
-
- In 32-bit version, fixed (hopefully) intermittent problem with FileMenu
- crashing, notably when the files in the Explorer directory window changed.
-
- In 16-bit version, fixed problem with the WinBatch box window stealing the
- input focus from an application window on top of WinBatch.
-
- Fixed probblem with the compiler not finding the OLE DLL if the DLL was
- located in the compiler directory but was not on the path.
-
-
- DLL 2.4dbp First showing up in WB 97D
-
- Fixed problem with the FileCopy and FileMove commands, if the overwrite
- warning option was specified and the file already existed. In the
- "Confirm File Replace" dialog that was displayed, the "Use Newer All" and
- "Use Older All" buttons did not work properly.
-
-
- Dialog Editor 97D First showing up in WB 97D
-
- In 32-bit version under Windows 95 and Windows NT 4.0, can now select GUI
- or system font (via "Edit" menu items). Defaults to GUI font, like the
- WIL Dialog() command does.
-
-
- Windows NT extender 11004 First showing up in WB 97D
-
- Increased the maximum length of the server, resource, and username
- parameters in the wntAccess[..] and wntOwner[..] functions.
-
-
- NetWare 3 extender 12020 First showing up in WB 97D
-
- In the n3MsgSend and n3MsgSendAll functions, increased the maximum length
- of the message string from 57 characters to 254 characters, when using
- NetWare client version 3.11 or later.
-
-
- NetWare 4 extender 14018 First showing up in WB 97D
-
- In the n3MsgSend and n3MsgSendAll functions, increased the maximum length
- of the message string from 57 characters to 254 characters.
-
-
- WB 98A Jun 15, 1998
-
- WinBatch compiler now accepts a single file name as a command-line
- parameter (such as via drag-and-drop).
-
- WinBatch compiler no longer converts output file name to lower case.
-
- WinBatch compiler now removes end-of-line comments as well as entire
- comment lines when optimizing WBT's.
-
- Added the ability to embed external files when running or compiling a
- WinBatch script, by using the new "#include" pre-processor directive.
- The syntax is:
-
- #include "filename"
-
- The keyword "#include" must begin in column 1, and must be all lower-case.
- The file name must be delimited by double quotes. The file name may contain
- path information, and does not need to have an extension of WBT. Nothing
- else should appear on the line.
-
- Each line containing a #include directive will be replaced by the contents
- of the specified file. If the file cannot be found, an error will occur.
-
- When using the WinBatch compiler, the "included" file(s) must be present
- at compile time; they will be embedded in the compiled EXE, and therefore
- do not need to be distributed as separate files.
-
- When using the interpreted version of WinBatch, the "included" file(s)
- must be present at the point in time when the script is launched (they
- cannot be created "on-the-fly" from within the script).
-
- You can have as many #include directives as you wish, and they may be
- nested (ie, "included" files may themselves conatin #include directives).
- However, the WinBatch script and all files being included, when merged
- together, cannot exceed 64K in size (after comments and whitespace are
- optimized by the WinBatch compiler).
-
-
- DLL 2.5abq First showing up in WB 98A
-
- New functions:
-
- BinaryCompare(handle1, offset1, handle2, offset2, count)
- Compares portions of two binary buffers.
-
- (i) handle1: handle of first buffer.
- (i) offset1: zero-based offset into the first buffer specifying where the data to
- be compared starts.
- (i) handle2: handle of second buffer.
- (i) offset2: zero-based offset into the second buffer specifying where the data to
- be compared starts.
- (i) count: the number of bytes to compare.
-
- The specified sections of the buffers are compared on a byte-by-byte
- basis. This function is case-sensitive.
-
- "handle1" and "handle2" may both reference the same buffer, in which
- case two sections of the buffer can be compared.
-
- Returns @TRUE if the sections are identical; @FALSE otherwise.
-
- BinaryReadEx(handle, binary-offset, filename, file-offset, count)
- Reads a portion of a file into a binary buffer.
-
- (i) handle: handle of buffer.
- (i) binary-offset: zero-based offset into the buffer specifying
- where the data should be stored.
- (i) filename: file to read into buffer.
- (i) file-offset: zero-based offset into the file specifying where
- the data to be read starts.
- (i) count: the number of bytes to read.
-
- This function reads "count" bytes from "filename", beginning at
- "file-offset". It then writes the data to the buffer specified by
- "handle", beginning at "binary-offset". Any existing data in the
- buffer within the range "binary-offset + count" is overwritten with
- the new data; any existing data outside that range is left untouched.
-
- Returns the number of bytes read.
-
- BinaryWriteEx(handle, binary-offset, filename, file-offset, count)
- Writes a portion of a binary buffer to a file.
-
- (i) handle: handle of buffer.
- (i) binary-offset: zero-based offset into the buffer specifying
- where the data to be read starts.
- (i) filename: file to write to.
- (i) file-offset: zero-based offset into the file specifying where
- the data should be stored.
- (i) count: the number of bytes to write.
-
- This function reads "count" bytes from the buffer specified by
- "handle", beginning at "binary-offset". It then writes the data to
- "filename", beginning at "file-offset". Any existing data in the file
- within the range "file-offset + count" is overwritten with the new
- data; any existing data outside that range is left untouched.
-
- If "filename" does not exist, it will be created. If the existing
- file is smaller than "file-offset", NULL bytes will be added to the
- end of the file to increase its size to "file-offset", and then the
- specified data will be written beginning at "file-offset".
-
- Returns the number of bytes written.
-
- BinaryAnd(target-handle, target-offset, source-handle, source-offset, count)
- Performs a bitwise AND on portions of two binary buffers.
-
- (i) target-handle: handle of target buffer.
- (i) target-offset: zero-based offset into the target buffer specifying
- where the data to be processed starts, and where the result of
- the operation should be placed.
- (i) source-handle: handle of source buffer.
- (i) source-offset: zero-based offset into the source buffer specifying
- where the data to be processed starts.
- (i) count: the number of bytes to process.
-
- The specified sections of the buffers are processed on a byte-by-byte
- basis, and the results are written to the buffer specified by
- "target-handle". Ie, the byte at "source-offset" is AND'ed with the
- byte at "target-offset", and the result of the AND operation is stored
- in the byte at "target-offset", then the bytes at "source-offset + 1"
- and "target-offset + 1" are AND'ed, and so on.
-
- "target-handle" and "source-handle" may both reference the same buffer,
- in which case two sections of the buffer can be processed.
-
- Returns 1.
-
- BinaryOr(target-handle, target-offset, source-handle, source-offset, count)
- Performs a bitwise OR on portions of two binary buffers.
-
- The specified sections of the buffers are processed on a byte-by-byte
- basis, and the results are written to the buffer specified by
- "target-handle". Ie, the byte at "source-offset" is OR'ed with the
- byte at "target-offset", and the result of the OR operation is stored
- in the byte at "target-offset", then the bytes at "source-offset + 1"
- and "target-offset + 1" are OR'ed, and so on.
-
- "target-handle" and "source-handle" may both reference the same buffer,
- in which case two sections of the buffer can be processed.
-
- See BinaryAnd for parameter information.
-
- Returns 1.
-
- BinaryXor(target-handle, target-offset, source-handle, source-offset, count)
- Performs a bitwise XOR (exclusive OR) on portions of two binary buffers.
-
- The specified sections of the buffers are processed on a byte-by-byte
- basis, and the results are written to the buffer specified by
- "target-handle". Ie, the byte at "source-offset" is XOR'ed with the
- byte at "target-offset", and the result of the XOR operation is stored
- in the byte at "target-offset", then the bytes at "source-offset + 1"
- and "target-offset + 1" are XOR'ed, and so on.
-
- "target-handle" and "source-handle" may both reference the same buffer,
- in which case two sections of the buffer can be processed.
-
- See BinaryAnd for parameter information.
-
- Returns 1.
-
- BinaryConvert(handle, source-type, target-type, code-page, flags)
- Converts a binary buffer.
-
- (i) handle: handle of buffer.
- (i) source-type: format of existing data in buffer.
- (i) target-type: format of data which the buffer will be converted to.
- (i) code-page: code page for 8-bit <-> Unicode conversions.
- (i) flags: additional options.
-
- This function can be used to perform the following types of conversions:
-
- 8-bit <-> Unicode
- Multibyte <-> Unicode
- ANSI <-> OEM
- -> Uppercase
- -> Lowercase
-
- "Source-type" and "target-type" can be one of the following:
-
- 0 8-bit ANSI
- 1 8-bit OEM
- 2 Multibyte (eg, double-byte)
- 3 Unicode
-
- Conversions from 8-bit (types 0 or 1) to or from multibyte (type 2)
- are not supported. If you need to perform this type of conversion,
- you can do it in two steps, using Unicode as an intermediate stage
- (eg, ANSI to Unicode, then Unicode to multibyte).
-
- For conversions to or from Unicode, a code page must be specified
- for the 8-bit (non-Unicode) character set. "Code-page" can be any
- valid code page on your system, or one of the following default code
- pages:
-
- 0 ANSI
- 1 OEM
- 2 Macintosh
-
- For conversions which don't involve Unicode, "code-page" is ignored.
-
- "Flags" can be one of the following:
-
- 1 Convert to uppercase
- 2 Convert to lowercase
-
- Note that Unicode uses two bytes for each character. Therefore, for
- conversions to Unicode, the binary buffer must be large enough to hold
- at least twice as much data as is currently in the buffer. Ie, if
- you are trying to convert a buffer which contains a 40-character
- string to Unicode, the buffer must be at least 80 bytes in size,
- because the resulting Unicode string will be 80-bytes long.
-
- Returns the new binary EOD (end of data) for the buffer.
-
- BinaryClipGet(handle, format)
- Reads the contents of the Windows clipboard into a binary buffer.
-
- (i) handle: handle of buffer.
- (i) format: format of clipboard data.
-
- The following is a list of possible clipboard formats. Note that some
- of them may not be supported, because the clipboard contains a pointer
- or handle to external data instead of the data itself.
-
- 1 CF_TEXT
- 2 CF_BITMAP (not supported)
- 3 CF_METAFILEPICT
- 4 CF_SYLK
- 5 CF_DIF
- 6 CF_TIFF
- 7 CF_OEMTEXT
- 8 CF_DIB
- 9 CF_PALETTE
- 10 CF_PENDATA
- 11 CF_RIFF
- 12 CF_WAVE
- 13 CF_UNICODETEXT
- 14 CF_ENHMETAFILE
- 15 CF_HDROP
- 16 CF_LOCALE
- 128 CF_OWNERDISPLAY
- 129 CF_DSPTEXT
- 130 CF_DSPBITMAP
- 131 CF_DSPMETAFILEPICT
- 142 CF_DSPENHMETAFILE
-
- Returns the number of bytes read from the clipboard.
-
- BinaryClipPut(handle, format)
- Writes a binary buffer to the Windows clipboard.
-
- (i) handle: handle of buffer.
- (i) format: format of clipboard data.
-
- Note that this function destroys the previous contents of the clipboard.
-
- See BinaryClipGet for parameter information.
-
- Returns 1.
-
- FileTimeGetEx(filename, time-field) (32-bit only)
- Gets extended time information for a file or directory.
-
- This function is like FileYmdHms, but works with directories as well
- as files, and lets you specify which time field you want to get.
- "Filename" can specify a file or directory name. "Time-field" can
- be one of the following:
-
- 1 file created
- 2 file last modified
- 3 file last accessed
-
- Returns file time in YmdHms format.
-
- FileTimeSetEx(file-list, YmdHms, time-field) (32-bit only)
- Sets extended time information for one or more files.
-
- This function is like FileTimeSet, but lets you specify which time
- field you want to set. "Time-field" can be one of the following:
-
- 1 file created
- 2 file last modified
- 3 file last accessed
-
- Returns @TRUE on success; @FALSE if any of the specified files could
- not be changed.
-
- ObjectAccess(app.objname, create-flag)
- Opens or creates an OLE 2.0 Automation object.
-
- If there is already a running instance of the object specified by
- "app.objname", this function will return a handle to that object.
-
- If there is not a running instance of the specified object, the
- behavior will depend on the value of 'create-flag':
-
- If 'create-flag' == @TRUE, it will create an instance of the
- object, and return a handle to it.
-
- If 'create-flag' == @FALSE, it will fail and return an error.
-
- This function is similar to ObjectOpen, except that ObjectOpen always
- creates a new object and cannot be used to access an existing one.
-
- See Object101 section for information on OLE Automation.
-
- DirSize(s:dir-name, i:flags)
- Finds the total size of a directory.
-
- This function returns the total size of a directory, including all
- files in the directory, and all files in all subdirectories under
- the directory.
-
- Flags Meaning
- ----- -------
- 1 Instead of returning the actual size of the files, return
- the amount of disk space they occupy. This is based upon
- the disk's cluster size. This flag is valid only if the
- specified directory is on a local drive or a network drive
- mapped to a drive letter; it does not support UNC's.
-
- Returns the size in bytes. The return value will be a floating
- point number if it is larger than 2 gigabytes.
-
- SendMenusToEx(s:window-name, s:menu-name, s:class-name, s:type, s:flags)
- Selects a menu item from an application.
-
- This function is similar to SendMenusTo, but supports non-standard
- menu types. The "type" parameter identifies the type of menu:
-
- Type Description
- ---- -----------
- 0 Standard pull-down menu
- 1 Microsoft Office 97 application menu (32-bit only)
-
- The other parameters depend on "type":
-
- Type 0:
- This works exactly the same as the SendMenusTo function. The
- "class name" and "flags" parameters are ignored.
-
- Type 1:
- This works with the main application control bar in Microsoft
- Office 97 applications, such as Microsoft Word and Microsoft Excel.
-
- "window-name" specifies the application window that will be
- activated before the menu item is selected. If a blank string
- ("") is specified, no window activation will be performed (in
- which case the window would need to already be active).
-
- "menu-name" specifies the menu item(s) to be selected. Each
- component must be separated by a vertical bar ("|"). So, to
- select "Open..." from the "File" menu, you would use:
-
- "File|Open..."
-
- "class-name" is the OLE class string in the Windows registry
- which identifies the application, such as:
-
- Word.Application
- Excel.Application
- Access.Application
-
- If more than one instance of the application identified by
- "class-name" is currently running, the command will be sent to
- the first one that is found. The "window-name" paramater cannot
- be used to identify a particular instance of the applicaton.
-
- "flags" is currently ignored, and should be set to 0.
-
- Returns @TRUE on success, @FALSE on failure.
-
- Examples:
- SendMenusToEx("~Notepad", "File | Open...", "", 0, 0)
- SendMenusToEx("Microsoft Word -", "File|Open...", "Word.Application", 1, 0)
-
- AskDirectory(prompt, browse-root, start-dir, confirm-prompt, flags) (32-bit, Win95/NT40 only)
- Displays a directory browse dialog box, and returns the selected directory name.
-
- (s) prompt: prompt to be displayed in the dialog box above the list
- of directories. This can be a blank string ("") if no prompt is
- desired. Note that the title of the dialog box ("Browse for
- Folder") cannot be changed.
-
- (s) browse-root: directory under which the user can browse for
- directories. The user will not be able to browse above this
- level. You can specify a blank string ("") to allow the entire
- file system (all drives, directories, and network shares) to be
- browsed.
-
- (s) start-dir: the directory which will be selected by default when
- the dialog box is initially displayed. This can be a blank
- string (""), in which case the top of the tree will be selected
- (same as 'browse-root').
-
- (s) confirm-prompt: the title of the confirmation message box (see
- 'flags' #2, below).
-
- (i) flags: one or more of the following optional flags, combined
- using the binary OR ("|") operator, or 0 if none are desired:
-
- Flag Meaning
- ---- -------
- 1 Display an edit field in the dialog box, in which the
- user can type the name of a directory which may or may
- not exist. This name will be relative to the currently
- selected directory name in the browse list.
-
- NOTE: This is supported only in Windows 98, Windows
- NT 5.0, or in earlier versions of Windows that have
- Internet Explorer 4.0 installed. In other versions
- of Windows, this flag is ignored.
-
- 2 If the user types a name in the edit field (see flag #1),
- of a directory which does not exist, this flag causes a
- confirmation message box to be displayed, showing the
- name of the directory that would be returned by the
- function, and containing three buttons: Yes, No, and
- Cancel. If the user selects 'Yes', the function returns.
- If the user selects 'No', the directory browse dialog
- remains displayed, and the user can re-edit the name or
- select a different directory. 'Cancel' causes the
- function to return, and standard WIL "cancel" processing
- to be performed.
-
- The title of the message box is specified by
- 'confirm-prompt'.
-
- Returns the directory name selected in the browse dialog. If the user
- presses "Cancel", standard WIL "cancel" processing will be performed.
-
- New IntControls:
-
- IntControl(53, p1, 0, 0, 0)
- Set line terminator type for FileWrite.
-
- P1 Terminator
- -- ----------
- -1 Don't change (just return current setting)
- 0 No line terminator
- 1 CR/LF (DOS) (default)
- 2 LF (UNIX)
- 3 CR (Macintosh)
- 4 tab
-
- Normally, FileWrite adds a carriage return and line feed (CR/LF) after
- writing each line to the file. This IntControl lets you select a
- different line terminator, or none at all, as specified by "p1".
-
- Returns previous setting.
-
- IntControl(54, p1, p2, 0, 0)
- Keep window on top.
-
- This IntControl tells the specified window to remain on top of all
- other windows, or to return to a normal (non-topmost) state.
-
- P1 = partial windowname of the window to be affected.
-
- P2 Meaning
- -- -------
- 0 Don't stay on top
- 1 Stay on top
-
- Returns @TRUE on success, @FALSE on failure.
-
- IntControl(56, p1, 0, 0, 0)
- Terminate an application.
-
- This IntControl lets you terminate an application abruptly.
- Normally, you should use WinClose to close an application
- gracefully, but sometimes that may not be possible. Using this
- IntControl is a drastic, last-resort method of terminating an app.
-
- Note: You will not receive any warning from the operating system
- before the application is closed, even if it contains unsaved
- work. Also, this function may leave the system in an unstable
- state. Use this function carefully.
-
- P1 = partial windowname of the application you wish to terminate.
-
- Returns @TRUE on success, @FALSE on failure.
-
- IntControl(57, p1, 0, 0, 0) (32-bit, Windows 95 only)
- Disable/enable system keys.
-
- This IntControl can be used to disable (or re-enable) the following
- system key-combinations:
-
- <Alt-Tab>
- <Alt-Esc>
- <Ctrl-Alt-Del>
-
- It works by telling the operating system that the screen saver is
- running (even though it isn't), which disables those keys.
-
- P2 Meaning
- -- -------
- 0 Enable system keys
- 1 Disable system keys
-
- Note: This function is not supported in Windows NT.
-
- Returns @TRUE on success, @FALSE on failure.
-
- IntControl(58, p1, 0, 0, 0) (32-bit only)
- Set system time.
-
- P1 = new system time, in YmdHms format.
-
- This IntControl changes the time of the computer's system clock.
-
- Returns @TRUE on success, @FALSE on failure.
-
- IntControl(59, p1, p2, 0, 0)
- Sends a WM_WININICHANGE or WM_SETTINGCHANGE message.
-
- This IntControl sends a message to one or all application windows,
- informing them that a change has been made to WIN.INI or to the
- registry.
-
- p1 = window handle of the window to send the message to, or -1 for
- all top-level windows.
-
- p2 = name of the WIN.INI section or registry key that has been
- changed. If this parameter specifies a WIN.INI section, it
- should not include square brackets around the name. If it
- specifies a registry key, it typically indicates only the
- leaf node in the registry, not the whole path, but this will
- be application-dependent. You can specify a blank string
- ("") to request that the application re-read all sections or
- keys that affect it.
-
- In the 16-bit version, this sends a WM_WININICHANGE message. In the
- 32-bit version, it sends a WM_SETTINGCHANGE message.
-
- Returns @TRUE on success; @FALSE on error.
-
- IntControl(60, p1, p2, 0, 0)
- Sends a WM_DEVMODECHANGE message.
-
- This IntControl sends a message to one or all application windows,
- informing them that a change has been made to device mode settings.
-
- p1 = window handle of the window to send the message to, or -1 for
- all top-level windows.
-
- p2 = name of the device (as specified in the [Devices] section of
- WIN.INI) whose settings have been changed.
-
- Returns @TRUE on success; @FALSE on error.
-
- IntControl(61, p1, 0, 0, 0) (32-bit only)
- Sets WinActivate() method.
-
- In Windows 98 and NT 5.0, the standard method that WinActivate (and
- SendKeysTo and MouseClick) uses to activate an application window is
- no longer supported. Therefore, we must use an alternate method to
- activate windows under these operating systems. This IntControl lets
- you change the current method being used. Some methods may work with
- some particular windows and not others, so you may need to experiment.
-
- P1 Method to use
- -- -------------
- -1 Don't change (just return current setting).
- 0 Standard method (SetForegroundWindow API call).
- 1 Switch to the window, then click on it.
- 2 Iconize the window, then switch to it.
-
- The default method is "1" when running under Windows 98 or NT 5.0.
- The default is "0" when running under previous versions of Windows.
-
- Returns previous setting.
-
- IntControl(62, p1, 0, 0, 0) (32-bit only)
- Sets dialog activation method.
-
- This IntControl lets you change the method used to activate dialog
- windows that are displayed by the WIL Interpreter. See IntControl(61)
- for more information.
-
- The date string returned by the TimeDate function now includes a 4-digit
- year, if this was configured via Control Panel.
-
- In 32-bit version under Windows NT, RegDeleteKey now deletes a key even if
- it has subkeys (under Windows 95 it has always done this).
-
- In 32-bit version, added additional options for the "level" parameter in
- WinVersion:
-
- Level Returns
- ----- -------
- 2 (i) Build number
- 3 (s) CSD version
-
- Under Windows NT, CSD version is a string indicating the latest
- service pack that has been installed (eg, "Service Pack 1"), or a
- blank string ("") if no service pack has been installed. Under
- Windows 95, it is a string that may indicate arbitrary additional
- information about the operating system, or may be blank.
-
- Added additional special characters to the SendKey (and SendKeysTo and
- SendKeysChild) functions:
-
- Key SendKey equivalent
- --- ------------------
- 0 on numeric keypad {NUMPAD0}
- 1 on numeric keypad {NUMPAD1}
- 2 on numeric keypad {NUMPAD2}
- 3 on numeric keypad {NUMPAD3}
- 4 on numeric keypad {NUMPAD4}
- 5 on numeric keypad {NUMPAD5}
- 6 on numeric keypad {NUMPAD6}
- 7 on numeric keypad {NUMPAD7}
- 8 on numeric keypad {NUMPAD8}
- 9 on numeric keypad {NUMPAD9}
- * on numeric keypad {NUMPAD*}
- + on numeric keypad {NUMPAD+}
- - on numeric keypad {NUMPAD-}
- . on numeric keypad {NUMPAD.}
- / on numeric keypad {NUMPAD/}
- Enter on numeric keypad {NUMPAD~} (32-bit only)
-
- In 32-bit version, the Run[..] commands can now be used to launch a
- shortcut to a non-executable, such as a document or a directory. However,
- the "Wait" option is ignored in this case.
-
- Fixed problem with TimeSubtract failing if the result was less than 1 year.
-
- If the "length" parameter of StrSub is past the end of the string, it now
- extracts to the end of the string, instead of returning a blank string.
-
- Changed FileRead to treat line feeds as line terminators, instead of
- carriage returns. This means that FileRead now supports both DOS files
- (which have CR/LF terminators) and UNIX files (which have LF terminators).
-
- Fixed problem with IntControl(5) in the 32-bit version.
-
- In the Dialog function, ampersands ("&") are no longer being converted to
- underscores in static text and varying text fields.
-
- Added parameter to IntControl(49):
-
- IntControl(49, p1, p2, 0, 0)
-
- p2 = specifies the value that a dialog box (created using the "Dialog"
- function) will return if the user closes the dialog without pressing
- one of the pushbuttons in the dialog (eg, by pressing <Alt-F4>, or
- by clicking on the "Close" icon in the title bar). The default is 1.
- If a dialog returns 0, processing will be transferred to the label in
- the script marked ":Cancel" (if any).
-
- IntControl(40) now correctly sets the share mode used when opening a file
- in "APPEND" mode with FileWrite(previously, it was only affecting files
- opened in "WRITE" mode).
-
- Fixed problem with input focus being lost when a dialog (created using the
- "Dialog" function) was minimized and restored.
-
- In 32-bit version, fixed problem prepending the path specified in the registry
- under "App Paths" when launching a program, if the existing path was more than
- 300 characters long.
-
- In 32-bit version, FileTimeGet no longer updates the file's last-access time.
-
- SendKey (and SendKeysTo and SendKeysChild) now turns caps lock off while
- sending keystrokes (and restores the previous state when it is done). This
- fixes a problem that was occurring when caps lock was on, and a shifted key
- combination was specified [eg, SendKey("+a")], resulting in a lower-case
- character being sent. Although this was faithfully duplicating the behavior
- of typing keystrokes manually ("reverse caps lock"), the intended behavior
- is for SendKey to ignore the caps lock state, and to therefore behave
- consistently whether caps lock is on or off.
-
- In 32-bit version under Windows 95, fixed problem using KeyToggleSet twice
- in a row.
-
- Fixed bug in StrIndexWild that could cause program to hang.
-
- Improved parameter handling for OLE functions:
-
- OLE functions now support up to 20 parameters (instead of 5).
-
- OLE functions now support omitted optional positional parameters, using
- commas as placeholders. For example:
-
- Application.Display("Hello", 100, 100, , 1)
-
- OLE functions now support named parameters. The syntax structure is:
-
- Object.Method(p1, p2 :: n3 = v3, n4 = v4)
-
- Positional parameters (shown as p1 and p2), if any, come first,
- followed by a double colon ("::"), and then any named parameters (n3
- and n4). Each named parameter is followed by an equals sign ("=") and
- then the value for the parameter (v3 and v4). Whitespace is ignored.
- Here are some examples:
-
- ; 2 positional parameters
- Application.InputBox("My Prompt", "My Title")
-
- ; 2 positional parameters and 2 named parameters
- Application.InputBox("My Prompt", "My Title" :: Left = 40, Top = 300)
-
- ; no positional parameters and 2 named parameters (note the leading colon)
- Application.InputBox(:: Prompt = "My Prompt", Title = "My Title")
-
- OLE functions now allow you to specify a type for integer parameters.
- Normally, when you specify an integer value as a parameter to an OLE
- function, WIL passes it as a type VT_I4 (4-byte integer value). If the
- OLE application was expecting the parameter to be a different type of
- numeric value, in most cases it will automatically convert it to the
- desired type. However, there are some OLE applications which don't do
- this, and return an error instead. In such cases, you can specify the
- type, using the following syntax:
-
- Object.Method(p1, t2:p2 :: n3 = v3, t4:n4 = v4)
-
- The parameter type (shown as t2 and t4) is followed by a single colon
- (":"), and then the parameter itself (p2 and n4). This can be done
- for both positional parameters (p2) and named parameters (n4).
- Whitespace is ignored, and the type names are not case-sensitive.
-
- Here are the types which may be specified for integer parameters:
-
- Type Name Meaning
- ---- ---- -------
- UI1 VT_UI1 An unsigned 1-byte character. (32-bit version only)
- I2 VT_I2 A 2-byte integer value.
- I4 VT_I4 A 4-byte integer value.
- BOOL VT_BOOL A Boolean (True/False) value.
-
- The type name that gets specified in the WIL command is the same
- as the equivalent OLE name, but without the leading "VT_".
-
- The default type for integer values is "I4" (VT_I4).
-
- In addition, you can now specify a date type for string parameters,
- for OLE functions which require a parameter of type VT_DATE:
-
- Type Name Meaning
- ---- ---- -------
- DATE VT_DATE A date/time string, in Ymd or YmdHms format.
-
- Here are some examples:
-
- ; this function requires a parameter of type VT_I2
- Application.CreateImageViewerObject(I2:1)
-
- ; this function requires a (named) parameter of type VT_DATE
- Application.CreateLog("access.log" :: DATE:startdate="97:11:01")
-
- Return values from OLE functions which have a return type of VT_DATE
- are now automatically converted to a YmdHms string in the form
- "YYYY:MM:DD:HH:MM:SS" (this will always contain a 4-digit year,
- regardless of the setting specified by IntControl 41).
-
- Fixed string memory leak with OLE functions.
-
- The following functions, which return a date string in YmdHms format, now
- return a 4-digit year by default. This can be changed using IntControl(41):
-
- FileYmdHms
- TimeAdd
- TimeJulToYmd
- TimeSubtract
- TimeYmdHms
-
- Under Windows 98 and NT 5.0, fixed problem with WinActivate and SendKeysTo
- not working, and problem with WIL dialogs not being activated. By default,
- an alternate window activation method will be used under these operating
- systems, which can be modified with IntControl(61) and IntControl(62).
-
- Under Windows 98 and NT 5.0, messages boxes are now brought to the
- foreground, but they will not be activated.
-
- DiskScan no longer adds a trailing delimiter to the returned list.
-
- DiskFree and DiskSize now accept lists with a trailing delimiter.
-
- In the "overwrite warning" dialog in FileCopy and FileMove, if the file
- name is too long to be displayed in its entirety, the beginning and end of
- the name are now displayed, instead of the name simply being truncated.
-
- In 32-bit version, the Wallpaper() function now supports the Active Desktop
- wallpaper in Internet Explorer 4.0.
-
- Fixed problem with StrIndexWild returning 0 if an asterisk ("*") in the
- wildcard pattern matched 0 characters in the string.
-
- In 32-bit version, improved the way FileFullName handles relative path
- names, when the current directory is a UNC (network share).
-
- The following functions no longer return a delimiter at the end of the list:
-
- DirItemize
- FileItemize
- IntControl(31)
- ItemInsert
- ItemRemove
- ItemSort
- NetInfo
- WinItemize
- WinItemChild
- WinItemNameId
-
- Functions which take a date/time string in YmdHms format now return an
- error if "24" is specified as the hour.
-
-
- Windows 95 extender 11003 First showing up in WB 98A
-
- The following functions have been renamed and moved to the new Windows
- 95/RADMIN (remote administration for Windows NT) extender. The existing
- functions will continue to work in this version, but may be removed or
- modified in future versions. Note that some of the parameters in the new
- DLL have been changed (specifically, a "group-type" parameter has been
- added to the w95ListGroups and w95Member[..] functions). Refer to the
- help file for the new extender for further information.
-
- Old name New name
- ------------- -------------
- w95ListGroups w9xListGroups
- w95MemberDel w9xMemberDel
- w95MemberGet w9xMemberGet
- w95MemberGrps w9xMemberGrps
- w95MemberList w9xMemberList
- w95MemberSet w9xMemberSet
- w95ServiceAt w9xServiceAt
- w95UserInfo w9xUserInfo
-
- New functions:
-
- w95ServerType(s:server-name)
- Returns a server's platform.
-
- "server-name" is the UNC name of a server (eg, "\\SERVER1"), or a
- blank string ("") to indicate the local machine.
-
- Returns one of the following values:
-
- Value Meaning
- ----- -------
- 0 Invalid server name
- 1 Other
- 2 Windows for Workgroups
- 3 Windows 95 or later
- 4 Windows NT
-
- w95ServiceInf(s:server-name)
- Returns a server's type.
-
- "server-name" is the UNC name of a server (eg, "\\SERVER1"), or a
- blank string ("") to indicate the local machine.
-
- Returns a bitmask indicating the type of server, or 0 on error. The
- individual flag bits in the bitmask can be extracted using the binary
- AND ("&") operator.
-
- See the "server-type" parameter in w95ServiceAt for a list of flag bits.
-
- w95ShareAdd now creates persistent shares (ie, they do not disappear when
- you reboot).
-
- In 32-bit version, IntControl(68) (shut down computer) now does a power-off,
- if supported by the computer.
-
-
- Windows NT extender 11005 First showing up in WB 98A
-
- New functions:
-
- wntUserProps(s:server-name, s:user-name, i:request)
- Returns information about a network user.
-
- "server-name" is the name of the server on which the function will
- execute, or a blank string ("") to indicate the current machine.
-
- "user-name" is the name of a user who has an account on "server-name".
-
- "request" specifies the information to be returned, and can be one
- of the following:
-
- Value Returns
- ----- -------
- 0 Username
- 1 Full name
- 2 Description
- 3 User profile path
- 4 Login script name
- 5 Home directory
- 6 Home directory logon drive
- 7 Privilege level ("GUEST", "USER", or "ADMIN")
-
- Returns a string.
-
- wntServerList(s:server-name, s:domain-name, i:server-type)
- Lists servers in a domain.
-
- See wntServiceAt for parameter information.
-
- Returns a tab-delimited list of server UNC names (eg, "\\MYSERVER").
-
- wntUserAdd(s:server-name)
- Adds a user account.
-
- "server-name" is the UNC name of the server on which the function
- will execute (eg, "\\MYSERVER"), or "" for the local computer.
-
- Before calling this function, you must use wntUserAddDat to set
- parameters for the new user account. At a minimum, you must set the
- "name" element. The other elements will receive default values.
-
- Calling this function does not reset elements in the user parameter
- structure. So, you can set various elements, add a user, then change
- just the "name" element and add another user. All other elements
- will retain their previous values. To clear all elements, call
- wntUserAddDat specifying blank strings for "variable" and "value".
-
- Example:
- wntUserAddDat("name", "jdoe")
- wntUserAddDat("full_name", "John Doe")
- wntUserAdd("")
-
- Returns 1.
-
- wntUserAddDat(s:element, s/i:value)
- Sets parameter information for wntUserAdd.
-
- This function sets values for elements in a user parameter structure,
- which is used by the wntUserAdd function.
-
- "element" can be one of the following elements in the structure. Its
- type (string or integer) is shown in parentheses, followed by a
- description of its corresponding "value":
-
- "name" (s):
-
- Specifies the name of the user account. The number of characters in
- the name cannot exceed 256.
-
- "password" (s):
-
- The password for the user specified in the "name" element. The length
- cannot exceed 256 bytes. By convention, Windows NT limits the length
- of passwords to 14 characters. This convention allows LAN Manager,
- Windows 3.x, Windows for Workgroups 3.x, and Windows 95 clients to
- access a Windows NT server using the account.
-
- "home_dir" (s):
-
- Points to a string containing the path of the home directory of the
- user specified in "user_name". The string can be null.
-
- "comment" (s):
-
- Points to a string that contains a comment. The string can be a null
- string, or it can have any number of characters before the
- terminating null character.
-
- "flags" (i):
-
- Contains values that determine several features. This element can be
- any of the following values:
-
- Value Name Meaning
- ----- ---- -------
- 2 UF_ACCOUNTDISABLE The user's account is disabled.
- 8 UF_HOMEDIR_REQUIRED The home directory is required. This value is
- ignored in Windows NT.
- 16 UF_LOCKOUT The account is currently locked out.
- 32 UF_PASSWRD_NOTREQD No password is required.
- 64 UF_PASSWRD_CANT_CHANGE The user cannot change the password.
-
- The following values describe the account type. Only one value can be set.
-
- Value Name Meaning
- ----- ---- -------
- 256 UF_TEMP_DUPLICATE_ACCOUNT This is an account for users whose primary
- account is in another domain. This
- account provides user access to this
- domain, but not to any domain that trusts
- this domain. The User Manager refers to
- this account type as a local user account.
- 512 UF_NORMAL_ACCOUNT This is a default account type that
- represents a typical user.
- 2048 UF_INTERDOMAIN_TRUST_ACCOUNT This is a permit to trust account for a
- Windows NT domain that trusts other
- domains.
- 4096 UF_WORKSTATION_TRUST_ACCOUNT This is a computer account for a Windows
- NT Workstation or Windows NT Server that
- is a member of this domain.
- 8192 UF_SERVER_TRUST_ACCOUNT This is a computer account for a Windows
- NT Backup Domain Controller that is a
- member of this domain.
-
- "script_path" (s):
-
- Points to a string specifying the path of the user's logon script,
- .CMD, .EXE, or .BAT file. The string can be null.
-
- "full_name" (s):
-
- Points to a string that contains the full name of the user. This
- string can be a null string, or it can have any number of characters
- before the terminating null character.
-
- "usr_comment" (s):
-
- Points to a string that contains a user comment. This string can be
- a null string, or it can have any number of characters before the
- terminating null character.
-
- "workstations" (s):
-
- Points to a string that contains the names of workstations from which
- the user can log on. As many as eight workstations can be specified;
- the names must be separated by commas (,). If you do not want to
- restrict the number of workstations, use a null string. To disable
- logons from all workstations to this account, set the
- UF_ACCOUNTDISABLE (2) value in the "flags" element.
-
- "acct_expires" (i):
-
- Specifies when the account will expire. This value is stored as the
- number of seconds elapsed since 00:00:00, January 1, 1970. A value
- of -1 indicates that the account never expires.
-
- "max_storage" (i):
-
- Specifies the maximum amount of disk space the user can use. Use -1
- to use all available disk space.
-
- "logon_hours" (s):
-
- This is a 42-byte string that specifies the times during which the
- user can log on. Each byte is a hexadecimal character ('0' - 'F')
- which represents 4 bits of a 168-bit string. Each bit represents
- a unique hour in the week. The first bit is Sunday, 0:00 to 0:59;
- the second bit is Sunday, 1:00 to 1:59; and so on. Specify a blank
- string ("") to indicate that there is no time restriction.
-
- Note: Bit 0 represents Sunday from 0:00 to 0:59 only if you are in
- the GMT time zone. In all other cases you must adjust the bits
- according to your time zone offset (for example, GMT minus 8 hours
- for PST).
-
- "country_code" (i):
-
- Specifies the country code for the user's language of choice.
-
- "code_page" (i):
-
- Specifies the code page for the user's language of choice.
-
- "profile" (s):
-
- Specifies a path to the user's profile. This value can be a null
- string, a local absolute path, or a UNC path.
-
- "home_dir_drive" (s):
-
- Specifies the drive letter assigned to the user's home directory for
- logon purposes.
-
- "password_expired" (i):
-
- Determines whether the password of the user has expired. Specify
- nonzero to indicate that the user must change password at next logon.
-
- If "variable" and "value" are both set to blank strings (""), all
- values will be cleared from the user parameter structure.
-
- You can specify a value of "*NULL*" to set a string element to a NULL
- pointer, which is not the same as a NULL string ("").
-
- Returns @TRUE on success, @FALSE if there was a problem.
-
- wntUserDel(server-name, user-name)
- Deletes a user account.
-
- "server-name" is the UNC name of the server on which the function
- will execute (eg, "\\MYSERVER"), or "" for the local computer.
-
- "user-name" is the name of the user to be deleted.
-
- Returns 1.
-
- wntServerType(s:server-name)
- Returns a server's platform.
-
- "server-name" is the UNC name of a server (eg, "\\SERVER1"), or a
- blank string ("") to indicate the local machine.
-
- Returns one of the following values:
-
- Value Meaning
- ----- -------
- 0 Invalid server name
- 1 Other
- 2 Windows for Workgroups
- 3 Windows 95 or later
- 4 Windows NT
-
- wntServiceInf(s:server-name)
- Returns a server's type.
-
- "server-name" is the UNC name of a server (eg, "\\SERVER1"), or a
- blank string ("") to indicate the local machine.
-
- Returns a bitmask indicating the type of server, or 0 on error. The
- individual flag bits in the bitmask can be extracted using the binary
- AND ("&") operator.
-
- See the "server-type" parameter in wntServiceAt for a list of flag bits.
-
- wntUserGetDat(s:server-name, s:user-name, s:element)
- Returns parameter information for a user account.
-
- "server-name" is the UNC name of the server on which the function
- will execute (eg, "\\MYSERVER"), or "" for the local computer.
-
- "user-name" is the name of a user who has an account on "server-name".
-
- "element" specifies the element to be returned. See wntUserAddDat
- for a list of valid elements.
-
- Returns a string or integer value, depending on "element".
-
- wntUserSetDat(s:server-name, s:user-name, s:element, s/i:value)
- Modifies parameter information for a user account.
-
- "server-name" is the UNC name of the server on which the function
- will execute (eg, "\\MYSERVER"), or "" for the local computer.
-
- "user-name" is the name of a user who has an account on "server-name".
-
- "element" specifies the element to be modified. See wntUserAddDat
- for a list of valid elements.
-
- "value" specifies the new value to be assigned to "element". See
- wntUserAddDat for more information.
-
- Returns @TRUE on success, @FALSE if there was a problem.
-
- wntUserRename(s:server-name, s:old-username, s:new-username)
- Renames a user account.
-
- "server-name" is the UNC name of the server on which the function
- will execute (eg, "\\MYSERVER"), or "" for the local computer.
-
- "old-username" is an existing account name.
-
- "new-username" is the new name to be given to the account.
-
- Returns @TRUE on success, @FALSE if there was a problem.
-
- In wntAccessAdd and wntAccessDel, added additional values for "object-type":
-
- 301 directory in an NTFS partition, and all its subdirectories
- 302 directory in an NTFS partition, and all files in the directory
- 303 directory in an NTFS partition, and all its subdirectories, and
- all files in the directory and all its subdirectories
- 401 registry key, and all its subkeys
-
- wntFileClose now closes all connections to a file, instead of just the
- first one. It also now returns the number of connections which existed
- (and were closed) for the specified file.
-
- wntChgPswd can now be used to specify a new password without knowing the
- old password, if you are a member of the Administrators or Account
- Operators local group. To do this, specify "*UNKNOWN*" as the old
- password. In this case, the "user" parameter must specify an actual user
- name (ie, it cannot be a blank string).
-
-
- Windows 32 extender 11001 First showing up in WB 98A
-
-
- NetWare 3 extender 12021 First showing up in WB 98A
-
-
- NetWare 4 extender 14019 First showing up in WB 98A
-
- New function:
-
- n4SetContext(s:context, s:tree)
- Changes the current user's default context and/or tree.
-
- "context" is a Directory Services context to be set. If this
- parameter is a blank string (""), the context will not be changed.
-
- "tree" is a Directory Services tree to be set. If this parameter is
- a blank string (""), the tree will not be changed.
-
- Note: the "tree" parameter is available only in the 32-bit version,
- and is ignored in the 16-bit version.
-
- This function changes the NetWare context and/or tree that is used by
- subsequent function calls from this extender (for those functions
- which do not take an explict "context" or "tree" parameter).
-
- Returns 1.
-
- n4ObjectProps now supports integer values, and some (but not all) other
- non-string value types. Unsupported types will now be returned as blank
- strings ("").
-
-
- WB 98B Jun 24, 1998
-
- The compiler now allows you to embed the WinBatch OLE support DLL when
- compiling a large EXE (select "Ole 2.0 Automation Extender" from the
- "Extenders" dialog box).
-
- In 32-bit version, the compiler now allows you to specify a tech support
- URL (web page) to be used if an error occurs in the script (under
- "Settings"). This can be overridden using IntControl(50).
-
- In 32-bit version, the compiler now allows you to specify version
- information strings to be embedded in the EXE (under "Version Info").
-
- The compiler now creates a configuration file for each source file you
- compile. It will be placed in the same directory as the source file, and
- will have the same base name with an extension of ".CMP". For example, if
- you compile "C:\UTIL\TEST.WBT", it will create a configuration file named
- "C:\UTIL\TEST.CMP".
-
- The compiler now allows you to specify additional files to be embedded in
- a large EXE (under "Other files").
-
- The compiler no longer supports automatic batch mode. If you run it with
- command-line parameters, it will bring up the interactive interface with
- the specified source file and output type pre-selected.
-
- The ".DAT" file format for extenders to be embedded by the compiler has
- changed. The new format is a text file with the first line being the
- description of the file, and one or more additional lines listing files
- to be embedded. The files may contain a full path; if a file doesn't have
- path information, the compiler will look for it first in the compiler
- directory, then on the path. For example:
-
- Novell NetWare 4.x
- wwn4z32i.dll
- wwn4z16i.dll
-
- For backwards compatability, the second line of the .DAT file may contain
- a list of files, delimited by commas.
-
- In 32-bit version, the compiler now supports embedded file names longer than
- 16 characters, and no longer converts embedded file names to upper case.
-
- In 32-bit version, the compiler now has an option to have the script run
- hidden (under "Settings").
-
- Changed BoxNew so that if you create a new box which covers or overlaps an
- existing box, the most recently created box will be on top.
-
-
- DLL 2.5bbq First showing up in WB 98B
-
- New functions:
-
- BinaryTagInit(i:buffer, s:start-tag, s:end-tag)
- Initializes a binary tag operation.
-
- Returns a binary tag structure string, or "" on failure.
-
- BinaryTagFind(s:tag-struct)
- Finds the next binary tag.
-
- Returns a binary tag structure string, or "" on failure.
-
- BinaryTagExtr(s:tag-struct, i:flags)
- Returns the text between the last-returned pair of binary tags.
-
- Flags Meaning
- ----- -------
- 1 Strip out tabs, carriage returns, and line feeds.
-
- Returns the text, or "" on failure.
-
- BinaryTagRepl(s:tag-struct, s:new-string)
- Replaces a binary tag with text.
-
- Returns a binary tag structure string, or "" on failure.
-
- BinaryIndexEx(handle, offset, string, direction, i:match-case)
- Searches a buffer for a string.
-
- This function is almost the same as BinaryIndex (if "match-case" =
- FALSE) and BinaryIndexNc (if "match-case" = TRUE). The one
- difference: if the specified string is not found, this function
- returns -1 (unlike those other functions, which return 0).
-
- ItemSortNc(list, delimiter)
- Sorts a list, ignoring case.
-
- This function is the same as ItemSort, but is not case sensitive.
-
-
- In 32-bit version of FileVerInfo, if you specify a blank string for
- "language-key", it will try to look up the item under the following
- language keys, in the specified order:
-
- Language-key Language Character Set
- ------------ -------- -------------
- 040904E4 U.S. English Windows Multilingual
- 040904B0 U.S. English Unicode
- 000004E4 Neutral Windows Multilingual
- 04090000 U.S. English Neutral
- 00000000 Neutral Neutral
-
- In 32-bit version, changed method for converting floating point numbers to
- strings. The new method should produce fewer anomolies, but in some cases
- the results will be slightly different than the previous method.
-
- Fixed problem with BinaryPokeStr letting you store a string that was one
- byte larger than the size of the buffer.
-
- Fixed problem with BinaryIndex and BinaryIndexNc failing if the string was
- found at the very end of the text in the buffer (ie, right before the EOD).
-
- WinActivate no longer resets a window's "stay-on-top" attribute.
-
- Fixed a problem in dialog boxes, where pressing the "Enter" key would
- sometimes select the "OK' button instead of the highlighted pushbutton.
-
- Fixed a problem with OLE calls causing a 3130 error if they were supposed to
- return an object handle, but the function call failed (ie, returned 0), and
- the return value was not assigned to a WIL variable in the script.
-
- The built-in variables "param1" through "param9" are now correctly undefined
- for parameters which are not passed, when making multiple Call's.
-
- Added 2 additional activation methods to IntControl(61) and IntControl(62):
-
- P1 Method to use
- -- -------------
- 3 Change foreground lock timeout.
- 4 Attach to the input thread of the foreground window.
-
- Changed the default method in Windows 98 and NT 5.0 to "3".
-
- AskDirectory now handles "start-dir" having a trailing backslash.
-
-
- NetWare 3 extender 12022 First showing up in WB 98B
-
- New functions:
-
- n3FileTimeGet(s:filename, i:time-field)
- Gets Netware time information for a file.
-
- "filename" must specify a single file name (no wildcards).
-
- "time-field" can be one of the following:
-
- 1 file created
- 2 file last modified
- 3 file last accessed
- 4 file last archived
-
- Returns the requested file time in YmdHms format (with a 4-digit
- year), or a blank string ("") if the requested time field is not set.
-
- n3DirTimeGet(s:dirname, i:time-field)
- Gets Netware time information for a directory.
-
- "dirname" must specify a single directory name (no wildcards).
-
- "time-field" can be one of the following:
-
- 1 directory created
- 2 directory last modified
- 3 --- (not used)
- 4 directory last archived
-
- Returns the requested directory time in YmdHms format (with a 4-digit
- year), or a blank string ("") if the requested time field is not set.
-
-
- NetWare 4 extender 14020 First showing up in WB 98B
-
- New functions:
-
- n4FileTimeGet(s:filename, i:time-field)
- Gets Netware time information for a file.
-
- "filename" must specify a single file name (no wildcards).
-
- "time-field" can be one of the following:
-
- 1 file created
- 2 file last modified
- 3 file last accessed
- 4 file last archived
-
- Returns the requested file time in YmdHms format (with a 4-digit
- year), or a blank string ("") if the requested time field is not set.
-
- n4DirTimeGet(s:dirname, i:time-field)
- Gets Netware time information for a directory.
-
- "dirname" must specify a single directory name (no wildcards).
-
- "time-field" can be one of the following:
-
- 1 directory created
- 2 directory last modified
- 3 --- (not used)
- 4 directory last archived
-
- Returns the requested directory time in YmdHms format (with a 4-digit
- year), or a blank string ("") if the requested time field is not set.
-
- Fixed problem with n4MemberSet not completely adding the user to the group.
-
- Fixed problem with n4MemberDel deleting all members in the specified group.
-
-
- WB 98C Sep 18, 1998
-
- New IntControl:
-
- IntControl(1007, p1, p2, p3, p4) (32-bit only) (Requires Windows 95+ or NT 4.0+)
- Add/remove/check tray icon.
-
- p1 Meaning
- -- -------
- 0 Check whether tray icon has been clicked (and reset "clicked" state)
- 1 Add currently-running script to the system tray
- 2 Remove currently-running script from the system tray
-
- If p1 == 1 (add icon), then p2 can be one or more of the following
- flags, combined with the binary OR ("|") operator:
-
- p2 Meaning
- -- -------
- 1 Hide regular WinBatch icon while the icon is in the system tray
- 2 Suspend script until user clicks on the tray icon
-
- p3 = Tool tip (ie, string that is displayed when the mouse passes
- over the tray icon), or "" for none.
-
- p4 = Icon file, or "" for the default icon. If a file name is
- specified, it can be a .ICO file, or an .EXE or .DLL (or similar
- resource file) containing icons. If it is a resource containing
- multiple icons, by default the first icon in the file is used.
- You can specify a different icon using the following format:
-
- "filename|#"
-
- where "filename" is the name of the file, followed by a vertical
- bar and then the offset of the desired icon in the file ("#").
- The first icon in a file has an offset of 0. If an invalid icon
- file is specified, the default icon will be used.
-
- If the "suspend script" flag is specified in p2, then the WinBatch
- script will be suspended until the user clicks on the tray icon, at
- which point the script will continue, and this function will return
- one of the click valuess listed below. Otherwise, the WinBatch
- script will continue running, and you can periodically check to see
- whether the user has clicked on the tray icon by calling this
- function with p1 == 0.
-
- When called with p1 == 0 (or when returning from being suspended),
- this function will return one of the following values:
-
- Value Meaning
- ----- -------
- 0 Not clicked
- 1 Left click
- 2 Right click
-
- Each time you call this function with p1 == 0, the "click state"
- will be reset to 0 (not clicked).
-
- Returns @TRUE (success) or @FALSE (failure), or a click value.
-
- Example:
- IntControl(1007, 1, 2, "Click me!", "shell32.dll|41")
-
- Fixed problem with compiler displaying an "Uninitialized variable" error if
- certain options were chosen, and there was no "LastSource=" setting in the
- compiler section of WWW-PROD.INI (which would have been the case if this
- was the first time the compiler was run).
-
- The #include directive will now also look for the specified file (if it
- does not contain path information) in the same directory as the script
- file being run or compiled
-
- Fixed problem with the compiler always using ".EXE" as the extension when
- reloading previous configurations, even when the output was a .WBC file.
-
-
- DLL 2.5cbq First showing up in WB 98C
-
- New Functions:
-
- FileCopyAttr(source-list, destination, warning, s:attributes)
- Copies files, and sets file attributes.
-
- This function is like FileCopy, but takes an additional parameter
- which lets you specify the file attributes for the destination files.
- It is equivalent to doing a FileCopy, followed by a FileAttrSet.
-
- If "attributes" is a blank string (""), the destination file(s) will
- inherit the same attributes as the corresponding source file(s). You
- only need to specify those attributes which you want to be changed.
-
- See FileCopy and FileAttrSet for additional information.
-
- FileMoveAttr(source-list, destination, warning, s:attributes)
- Moves files, and sets file attributes.
-
- This function is like FileMove, but takes an additional parameter
- which lets you specify the file attributes for the destination files.
- It is equivalent to doing a FileMove, followed by a FileAttrSet.
-
- If "attributes" is a blank string (""), the destination file(s) will
- inherit the same attributes as the corresponding source file(s). You
- only need to specify those attributes which you want to be changed.
-
- See FileMove and FileAttrSet for additional information.
-
- TimeDiff(s:time-value-1, s:time-value-2)
- Returns the difference between two points in time.
-
- "time-value-1" and "time-value-2" must be valid date-time strings,
- in YmdHms format. "time-value-1" must be the later (more recent) of
- the two times.
-
- Returns the difference between the two times, in YmdHms format.
-
- Because some months have more days than others, an adjustment may
- need to be made when converting the resulting "day" field into
- months. In the example:
-
- TimeDiff("1998:09:30:00:00:00", "1998:08:31:00:00:00")
-
- the result is, logically, "0000:00:30:00:00:00" (30 days). But in
- this example:
-
- TimeDiff("1998:10:01:00:00:00", "1998:08:31:00:00:00")
-
- where the operation wraps past the end of the month, there is some
- question what the result should be, since there is no such date as
- September 31. This function handles this by treating the period
- from August 31 to September 30 as one month, so the result would be
- "0000:01:01:00:00:00" (one month and one day).
-
- Example:
- ; How long has it been since the beginning of the decade
- diff = TimeDiff(TimeYmdHms(), "1990:01:01:00:00:00")
-
- New IntControls:
-
- IntControl(63, p1, p2, p3, p4)
- Sets coordinates for AskFileText and AskItemList windows.
-
- This function sets the window coordinates for the dialog displayed
- by the next AskFileText or AskItemList function call. The coordinates
- will be reset to default values after the Ask[..] function is called.
-
- Coordinates are based on a virtual 1000 x 1000 screen:
-
- p1 = left (upper-x)
- p2 = top (upper-y)
- p3 = right (lower-x)
- p4 = bottom (lower-y)
-
- To explicitly indicate that default values should be used, use:
-
- IntControl(63, 0, 0, 0, 0)
-
- Returns 1.
-
- IntControl(64, 0, 0, 0, 0) (32-bit only)
- Gets the exit code returned by the last program run.
-
- This function gets the exit code (also known as the "errorlevel")
- that was returned by the program that was most-recently run using
- RunWait (or using RunShell with the @WAIT flag specified). If no
- program has been run, or if the last-run program was not run in
- @WAIT mode, this function will return 99999.
-
- The windows displayed by AskFileText and AskItemList can now be resized
- by the user.
-
- In 32-bit version, the "Tile" parameter of the Wallpaper() function has a
- new option:
-
- 2 = Stretch
-
- This is available in Windows 98, and in Windows 95 with "Plus" installed.
-
- Fixed a problem in dialog boxes, where pressing a hotkey corresponding to
- the "OK" button (ie, the pushbutton with a value of 1) would select the
- highlighted pushbutton instead, if the highlighted pushbutton was the
- first control in the dialog and the focus had not previously been switched
- away from it.
-
- In 32-bit version, fixed problems with floating point to string conversions.
-
- Fixed problem (again) with TimeSubtract, where the result could have a day
- of "00" (eg, "96:04:00" instead of "96:03:31").
-
- The existing documentation is not clear on the purpose or usage of the
- TimeSubtract function. TimeSubtract is designed to subtract a
- time-difference from a time-value:
-
- TimeSubtract(s:time-value, s:time-difference)
-
- "time-value" is a valid date-time string, in YmdHms format.
-
- "time-difference" is an amount of time to be subtracted from
- "time-value", in YmdHms format.
-
- The result is a time string in YmdHms format.
-
- Examples:
-
- ; Subtract 1 day from 9/1/98 (at midnight)
- TimeSubtract("1998:09:01:00:00:00", "00:00:01:00:00:00")
-
- ; Subtract 48 hours from the current time
- TimeSubtract(TimeYmdHms(), "00:00:00:48:00:00")
-
- TimeSubtract is NOT designed to determine the difference between two
- points in time. For that, use TimeDiffDays, TimeDiffSecs, or the new
- TimeDiff function (above).
-
- Adjusted the way TimeAdd and TimeSubtract deal with cases where you are
- adding or subtracting a certain number of months, and the result would
- be an invalid date. For example:
-
- TimeAdd("1998:08:31:00:00:00", "00:01:00:00:00:00")
-
- Here, you are asking to add one month to August 31, but there are only
- 30 days in September and therefore there is no September 31. In previous
- versions, the result would have been October 1 (ie, there are 31 days in
- August, so add 31 days). In this new version, it will no longer wrap the
- month add/subtract operation past the end of a month, so the result will
- now be September 30. Similarly, in this example:
-
- TimeSubtract("1998:10:31:00:00:00", "00:01:01:00:00:00")
-
- which subtracts one month and one day from October 31, the result will
- now be September 29, not September 30. That is to say, it first
- subtracts the month(s), adjusts the result to the last day of the month
- if necessary, and then subtracts the day(s) (and hours, minutes, seconds).
-
- In 32-bit version, added an additional option to IntControl(28):
-
- 2 = GUI font (Windows 95+ and NT 4.0+ only)
-
- Note that this option applies to AskLine (and AskPassword), as well
- as to AskFileText and AskItemList.
-
- BinaryClipGet now stops reading clipboard data at the first NULL
- character for text format types (1, 7, and 13).
-
- BinaryClipPut now adds a NULL terminator to the data being written to
- the clipboard for text format types (1, 7, and 13).
-
-
- Windows NT extender 11006 First showing up in WB 98C
-
- New functions:
-
- wntRasUserGet(s:server-name, s:user-name, i:request)
- Gets RAS information for a user.
-
- "server-name" is the UNC name of the primary or backup domain
- controller that has the user account database (eg, "\\MYSERVER").
- If the machine on which the user account resides is a standalone
- NT workstation or server, you can specify the UNC name of that
- machine, or "" for the local computer.
-
- "user-name" is the name of a user.
-
- "request" specifies the information to be returned, and can be one
- of the following:
-
- Value Returns
- ----- -------
- 1 (i) Dial-in privilege
- 2 (s) Callback phone number
-
- Dial-in privilege specifies both the dialin permission and the
- callback mode, and will be one of the following values:
-
- Value Meaning
- ----- -------
- 1 No dial-in permission / No callback privilege
- 2 No dial-in permission / Callback number specified by caller
- 4 No dial-in permission / Callback number preset by administrator
- 9 Dial-in permission / No callback privilege
- 10 Dial-in permission / Callback number specified by caller
- 12 Dial-in permission / Callback number preset by administrator
-
- wntRasUserSet(s:server-name, s:user-name, i:privilege, s:phone-number)
- Sets RAS information for a user.
-
- "phone-number" specifies an administrator-preset callback phone
- number, if appropriate. You can specify a blank string ("") to
- leave the currently-set number (if any) unchanged.
-
- See wntRasUserGet for additional information.
-
- Returns 1.
-
- wntRunAsUser(s:domain/server, s:user-name, s:password, i:login-type, i:flags)
- Run as a different user.
-
- "domain/server" is the name of the domain or server on which the
- specified user account resides, or "." to indicate that the local
- account database should be searched for the user, or "" to indicate
- that the local account database and (then) any trusted domain
- account databases should be searched for the user.
-
- "user-name" is the name of the user to run as.
-
- "password" is the specified user's login password.
-
- "login-type" can be one of the following:
-
- Type Meaning
- ---- -------
- 2 Interactive login
- 3 Network login
- 4 Batch login
- 5 Service login
-
- Note that the specified user must have the appropriate user rights
- assigned to be able to log in as a batch job or service.
-
- "flags" is currently unused, and should be set to 0.
-
- This function causes the specified user to be impersonated only for the
- duration of the currently-running instance of the WIL Interpreter.
-
- In order to use this function, the currently-logged-in user must have the
- "Act as part of the operating system" user right assigned. This can be
- set from the "Policy" menu in the NT User Manager (note that the "Show
- Advanced User Rights" option in the dialog box must be checked).
-
- Returns 1.
-
-
- WB 98D Sep 29, 1998
-
- PopMenu now puts double-quotes around the menu file name when launching the
- editor.
-
- PopMenu now attempts to return the focus to the previously-active window after
- executing a menu item.
-
-
- DLL 2.6dbr First showing up in WB 98D
-
- New functions:
-
- DebugTrace(i:mode, s:log-file)
- Outputs debug information to a file.
-
- "mode" = @ON or @OFF. Default is @OFF.
-
- "log-file" is the name of the file to which debug information will
- be appended.
-
- When debug trace mode is @ON, each command that is executed is written
- to the specified log file, along with its return value.
-
- WinItemProcID(i:process-id, i:flags, i:return-type)
- Returns a list of windows for the specified process.
-
- This function returns a list of top-level (parent) windows owned by
- the process specified by "process-id".
-
- A process-id can be obtained by launching an application with
- RunShell and specifying @GETPROCID as the "waitflag" (see below).
-
- "flags" can be 0, or one or more of the following values combined
- with the binary OR ("|") operator:
-
- Flag Meaning
- ---- -------
- 1 Include windows with blank titles
- 2 Include hidden windows
- 4 Include windows which are not enabled for keyboard and mouse input
- 8 Include windows with the title "WinOldAp"
-
- "return-type" specifies the format in which the list of windows will
- be returned, and can be one of the following:
-
- Type Meaning
- ---- -------
- 0 Tab-delimited list of window ID's
- 1 Tab-delimited list of window titles
- 2 List of window titles and name ID's in the form:
- "window1-name|window1-ID|window2-name|window2-ID|..."
-
- Example:
- procid = RunShell("calc.exe", "", "", @NORMAL, @GETPROCID)
-
- If (procid != 0) && (procid != 1) ; if we got a valid process ID
- winids = WinItemProcId(procid, 2, 0)
- Message("Window ID(s)", winids)
- Endif
-
- You can now obtain the process ID of an application that is launched with
- the RunShell function by specifying @GETPROCID as the "waitflag". This is
- the same as specifying @NOWAIT, except that on success the function will
- return the process ID of the application that was launched. This process
- ID can be used with the WinItemProcID function (see above). The process
- ID may be a negative number. If you use RunShell to launch a shortcut to
- a special (non-executable) shortcut (eg, a dial-up networking item), a
- process ID cannot be obtained. Instead, a 1 will be returned to indicate
- success. In all cases, a return value of 0 indicates failure.
-
- Fixed problem with TimeDiff returning a negative number for the month
- field, in certain cases.
-
- The date string returned by the FileTimeGet function now includes a 4-digit
- year, if this was configured via Control Panel.
-
- In 32-bit version, fixed problem assigning string properties to OLE objects
- (they weren't being properly converted to Unicode, so looked like gibberish).
-
- Fixed problem with NetInfo(1) missing some installed clients under Windows
- 95, in unusual cases.
-
- Fixed problem with BinaryIndexEx returning 0 instead of -1, if the string
- being searched for would extend beyond the limits of the binary buffer.
-
-
- Windows NT extender 11007 First showing up in WB 98D
-
- New function:
-
- wntMemberLst2(server-name, group, group-type)
- Lists all members of a user group, with domains.
-
- This function is the same as wntMemberList, but returns a list of
- users including their domains, in the form:
-
- Domain\User
-
- Added new "elements" to wntUserGetDat:
-
- "last_logon" (s): last logon time, in "YYYY:MM:DD:hh:mm:ss" format
- "last_logoff" (s): last logoff time, in "YYYY:MM:DD:hh:mm:ss" format
-
- These times are maintained separately on each Backup Domain Controller
- (BDC) in the domain. To get an accurate value, each BDC in the
- domain must be queried, and the largest value is used.
-
- The return value will always contain a 4-digit year. If no value is
- available, "0000:00:00:00:00:00" is returned.
-
- Note: These elements cannot be set using wntUserAddDat or wntUserSetDat.
-
- Modified the format of the "acct_expires" element in wntUserAddDat,
- wntUserGetDat, and wntUserSetDat. Previously, this was set and returned
- as an integer representing the number of seconds since 1/1/70. It has
- now been changed to a string in "YYYY:MM:DD:hh:mm:ss" format.
-
- For wntUserGetDat, the return value will always contain a 4-digit year.
- If the account has no expiration date, "0000:00:00:00:00:00" is returned.
-
- For wntUserAddDat and wntUserSetDat, "value" must contain a 4-digit year,
- and must appear in the precise format "YYYY:MM:DD:hh:mm:ss" (ie, exactly
- 19 characters long, with colons in exactly the right positions). To
- indicate that the account should have no expiration date, specify
- "0000:00:00:00:00:00".
-
-
- WILX extender 11107 First showing up in WB 98D
-
- Under Windows NT, xEjectMedia no longer returns an error or displays a
- "Drive not ready" message if the drive is empty.
-
-
- WB 98E Nov 9, 1998
-
- Fixed a problem with PopMenu not setting the focus to the previously-active
- window before executing a menu item.
-
-
- DLL 2.6ebr First showing up in WB 98E
-