Public (software) Library Copyright 1994 Nelson Ford, PsL ALL RIGHTS RESERVED =====Visual Basic: DOS Access & System Routines Also see VB_CTRLS for custom controls and GENERAL for controls, routines and tools which can be used by VB and other languages. CONTENTS: -----DOS_ACCS: DOS access, functions -----SYSTEM ==================================== -----DOS_ACCS: DOS access, functions [CRC32] CRC32 (Simms, Jeff; $0) contains a DLL with source code to calculate CRC32 value of a file. [DATETIM] DateTime shows how to get a file's date/time stamp and file size directly from within Visual Basic without resorting to a shell to DOS DIR command. [DFINFO] DFInfo (Mabry Software, reg. fee: $15) is a custom control that provides disk and file information, including disk space, cluster info, file size/attributes, etc. [DIRSCAN] Dirscan.BAS (Rose, Joel; $0) contains source code for a routine that scans a system's drives for a particular file or files. [DISKINFO] DiskInfo 1.0 is a DLL for Visual Basic which will return the free disk space of the current drive. (Douglas Marquardt, reg. fee: $0) [DISKSTF] Diskstuf.DLL returns the free disk space of any valid drive, as well as the VOLSTRUCT info. (Douglas Marquardt, reg. fee: $0) [DRVUTL] Drive Utilities DLL is a collection of disk and file routines for the VB programmer. It will provide disk size, cluster size, sector size, and bytes used and free, which are not available through Visual Basic. It can also provide file size, date, time and attributes, and allow date, time and attributes to be changed. (TANSTAAFL Software, reg. fee: $20) [DSKINFO] DskInfo (Taylor, Ian; $0) is a DLL that returns information about a specified drive: free space, total space, total clusters, available clusters, sectors per cluster and bytes per sector. It also returns free system resources and memory. [DSKSPC] DskSpc (Shields, James; $5) is a DLL which returns total disk space and free disk space for a user-specified drive. [FIXDATE] FixDate contains VB3 source code and an executable that allows the changing of single, or multiple, file date/time stamps. (Fred L. Freel, reg. fee: $0) [FSP] FSP.DLL (Chris Vardy, reg. fee: $0) returns the number of bytes free on a given drive. [FSTAMP] Fstamp is a small DLL which allows you to change the date and time stamp of a file from VB or C/C++. (Rick Esterling, reg. fee: $0) [ISFILE] Isfile (J. Frank Carr; $0) shows how to use the OpenFile API call to determine if a file exists or not. [LABLDLL] Labeldll (Guimond, Stephen C.; $0) contains a DLL that will allow you to read, write, and delete DOS volume labels. It will also allow you to get file and disk information such as total disk space, available disk space, file date, file time, and size of file. A conversion routine to get plain English dates and times out of those returned by the DLL is also provided. Commented Pascal source code is included. [QSEARCH] QSearch (Simms, Jeff; $0) is a DLL that lets you search a drive for a file, search a file for text, and copy a file. Wildcards are supported. A sample app is included. [VBDOS] VBDOS is a DLL that allows you to get free disk space, file information, and change file attributes. Sample code is included. [WLIB10] WingLib 1.0 contains a small DLL that can be called by a Visual Basic program to obtain the amount of free space on a disk drive. (Silverwing Systems, reg. fee: $25) -----SYSTEM [CDLL_VB] CDLL_VB (Aylor, Bill; $?) is a TurboC++ DLL for VBWin that illustrates how to pass a character string from the DLL to VB for processing. [CLIPDEM] CLIPDEM demonstrates using the clipboard across forms. [CTLWHWN] CtlWhWnd (User Friendly, Inc.; $0) is a DLL function that returns the hWnd for any control. [DDEPM] Doing DDE with Program Manager (Irwin, Gregg S.; $0) contains a module and sample application to demonstrate the functionality available for creating Items in Program Manager, retrieving Group and Item information, deleting items, replacing items, and more. [ENDTASK] EndTask (Simms, Jeff; $0) is a DLL that lets you close your app normally when the user selects End Task from Task Manager. [EXWAIT] ExWait demonstrates how to use the Windows GetModuleUsage function to cause VB to wait until a SHELL command has finished. [FCC110] FCC 1.10 (Four Lakes Computing, reg. fee: $95) is a DLL that provides file caching and disk compression. Features include efficient LRU file caching which allows block sizes as small as 128 bytes, optional read and write access to compressed files, direct replacements for Microsoft LZ functions, and more. VB sample source and an executable demo are included. [FINDAPP] Findapp (Obeda, Ed; $0) is a DLL and related VB code that prevents users from opening more than one copy of your application or of programs such as Calculator. [FNDWND] Fndwnd shows how to look for a window based on Caption and/or ClassName. [GETWLST] GetWindowList 1.1 (Steinwart, Todd; $0) is a DLL that lets you get a list of handles for active, visible windows. Sample usage code is included. [HLPKEY] HlpKey (Simms, Jeff; $0) is a DLL and source code which eliminates the need for separate F1 Help Keypress events. [INOUT] InOut (Faggart, B.E.; $0) is a DLL for I/O Port control. Sample VB source code is included. [LOCKAPI] Locker API 1.0 (Hampshire Software; $245) is a software metering DLL. It allows a programmer to control the number of concurrent users that may access their windows program. It works on all networks that support DOS filesharing/filelocking. It also works on local drives. [LOADTIME] LoadTime is a text file that tells how to handle slow loading programs to keep the user from messing things up. [MHELP] MHelp (MicroHelp, Inc.; $0) is a DLL with VB versions of PEEK, POKE, INP, OUT, VARPTR, VARSEG, VARSEGPTR, SADD, SSEG and SSEGADD. [MODALEX] Modalex is a DLL that makes a VB app appear modal to the calling app. [NOGHOST] NoGhost 1.0 (reg. fee: $0) is a tool which allows VB applications to respond to Cascade and Tile messages properly. It can be configured to allow or disallow sizing of the VB application's window, and requires only 5K of memory and one simple call to a DLL function. [NUMWIN] NUMWIN.VBX 3.0 (Weimar Software,, reg. fee: $18) is a VB custom control that makes it easy for you to provide your users with additional programming features like DDE, OLE, and other custom features which require hWnds of other application's windows. It can also be used to obtain the hWnd of all VB hWnds of the running application to enable you to send messages to or manipulate the other windows in the application in ways VB does not directly allow. . [PATCHVB] PatchVB patches your VB programs so they no longer try to invoke Windows when executed from DOS command line. After patching, they just report "This program requires Microsoft Windows" and exit. Requires VBRUN300. (Rick Esterling, reg. fee: $0) [PATH_VB] Path demonstrates the use of two API calls to determine the path of an application. (Not needed for VB3.) [PEEKB] PeekB (Harvey, Jim; $0) is a DLL that lets you peek at protected memory. The DLL source code illustrates how to write a DLL for VB. [PNTR11] Pointers.DLL 1.1 (Greg Blaum, reg. fee: $0) is a DLL for VB that contains a function that returns the Pointer of any variable. It contains de-referencing functions and sample code. [RESCHEK] ResCheck 1.0 (Houck, Dan; $0) is source for checking and displaying GDI and User Heap information in an icon. [RUNMODL] RunModal contains a DLL that will allow you to call any EXE file and have it run as if it were a modal dialog box from the calling application. Your VB app can be called as dialog boxes from Word; your apps can call Notepad, etc. WIN31 is required. [SI_SDK] The System Information SDK 1.01 (Snowy Mountain Software; $10) is a DLL and a Library of VB function calls that enable developers to determine configuration information about a computer. It can detect computer model, BIOS manufacturer and date, memory installed, bus type, CPU type and speed, mouse and drive info, and more. This was designed to be used with Visual Basic, although another language that can call DLLs can also be used. [SPCTIME] Space & Time (Barrett, Paul James; $0) is a DLL that reports free disk space and will copy the date and/or time to the the Clipboard. C source code for the DLL is included, but no source code to illustrate calling the DLL from VB, so you will have to study the C code. [SYSMENU] SysMenu (Simms, Jeff; $0) is a DLL that lets you add items to the System Control Box menu. [SYSWTCH] SySwitch 2.03 (Bonner, Paul; $0) is VB source for a utility for changing Windows configurations. [TIMFRAM] TimeFrame (Braeuchi, J.; $0) shows how to display information on the caption bar of other applications. This example displays the time. [TOPMOST] Topmost (Contreras, Mike; $0) contains source for a utility to keep any specified window on top. This is very useful for keeping the VB2 properties window visible during program development. [TXTHOOK] TxtHook (Simms, Jeff; $0) is a DLL that enhances the Text box. The primary feature is that text can be left highlighted even when the Text box loses focus. [VBFNDID] VBFindID (Kitsos, Costas; $0) is a utility which can be used to determine the IDs of VB Controls during design-time. [VBMEM_S] VBMem 1.1 (Snider, Charles K.; $0) is source for a VB app that displays Windows system information: the operating mode, presence of a math chip, and free memory. Compiled and run minimized, the display will constantly update the free memory number [VBPOINT] VBPoint (Zuck, Jonathan; $0) is a DLL that adds pointer support to VB. LP2Str$ is a string function that copies data, pointed to by a so-called "Long Pointer" into a VB proprietary string variable. Str2LP is a subroutine that will copy data from one address to another. With this function you can create the CV? and BLOAD commands. [WINFOVB] Windows Info (Bonner, Paul; $?) reports the caption, window handle and class name of the window under the mouse cursor, its parent window, and its progenitor window. Source code is included. [WMEM] Wmem (Buelow, Ron; $?) shows how to create an icon bar that displays system memory, stays on top, and is moveable. [WNDFIND] WndFind (User Friendly, Inc.; $0) solves the problem of needing an exact match when using the AppActivate command. This can also be used to determine if your application is already running. Source is included. [XTASK] XTask 1.0 (Stam, Pieter; $0) is a DLL that lets you detect when any EXE has terminated.