Copyright: ® 1993 Tony Shaftel. All rights reserved.


Help Contents
Contents

DLL Master

Overview

Using The Main Window

Using The Prior-List Window

Using The Compare Window

Menu Selections

Loading DLLs At Windows Startup

Registering DLL Master


Overview

DLL Master is a tool that lists all the modules currently loaded by Microsoft Windows and allows you a certain degree of control over  the loading and unloading of specific DLLs.  Here is a brief summary of the features of DLL Master:

•	Displays a list of all modules currently loaded in memory.

•	DLLs can be loaded or unloaded from memory, or their use count altered.

•	Specific versions of DLLs can be loaded from disk.

•	Specific DLLs can be pre-loaded at Windows startup.

•	The display list can be rebuilt at any time.

•	The last several lists built are saved, and can be viewed each in its own window.

•	Any two lists can be compared to produce a list of changes.

•	Lists can be printed or saved to disk.

These capabilities can be extremely helpful to Windows developers who may be working with multiple versions of programs and DLLs.  You might get lucky and find it possible to unload a DLL which was orphaned in memory when an application died in testing.  One can certainly raise the use count of a DLL so that it doesn't unload.  Network administrators and others also find DLL Master useful in debugging potential DLL conflicts on networked PCs.  The common question "Where did this DLL load from, anyway?" is quickly answered by DLL Master.

(DLL Master is a trademark of Shaftel Software.  Windows is a trademark of Microsoft Corporation.)


Using The Main Window

When you start DLL Master, the main window appears.  This window contains the list of current modules in memory and is also where you take any actions to load or unload modules.

The module list can be displayed in full detail or summary mode.  Full detail has two lines per module, including module name, source directory from which it was loaded, filesize, date and time of the module file on disk, and use count (the number of times the module has been explicitly or implicitly "loaded" by Windows or another module).  Summary mode shows only one line per module--the file statistics are left out.  The mode is toggled from the Options Menu.

Buttons at the bottom of the window make it easy to refresh the list, load a DLL, decrement the use count of a DLL, unload a DLL, print the list, or Quit.  As you may know, "loading" a DLL that is already in memory merely increases the use count of the loaded copy.  You should also be aware that unloading or decrementing the use count of a DLL may--or, in the case of an EXE or other module, almost certainly will--cause Windows to die a sudden and painful death.  Do so at your own risk!

There is also space below the list where you can enter a short description, if you will be refreshing the list several times and want to keep track of which list is which.  DLL Master accumulates up to ten lists.  Previous lists can be viewed, and compared, from the Action Menu.  Naturally, each list takes up some memory and system resources, which you can monitor on the About... popup.  Unwanted lists can be deleted (see "Using The Prior-List Window").


Using The Prior-List Window

Each time you refresh the list on the main window using the Refresh button or menu item, the one that was there is saved.  Up to ten lists can exist including the current one.

NOTE: loading, unloading or decrementing the use count of a DLL does NOT cause the list to be saved, even though the list is rebuilt so as to properly reflect all changes (e.g. unloading one DLL may cause others to be released as well).  Only explicit refreshes cause the existing list to be saved first.

When you select lists prior to the current one in the Show Lists dialog, they are displayed in a similar window, but with fewer menu and button options.  There are two buttons, "Close" and "Delete this list", on the bottom of the window.  The first closes the window, but the list is preserved for subsequent viewing or comparing.  The second actually deletes the list.


Using The Compare Window

When you compare lists using the Compare Lists dialog, they are displayed in another similar window with only one command button, "Close".  Compare lists are never actually saved.  As long as the two base lists are still available, the same compare list can be rebuilt.


Menu Selections

File Menu

Actions Menu

Options Menu


File Menu

The File Menu contains the following items:

•	Print List

This allows you to send the contents of the displayed list either to a printer or to a disk file.  The list title (date/time and number of modules) and description if any are included at the top of the output.  You may also use the Print button to do this.

•	Exit

This item exits from DLL Master.  You may also use the Quit button or the system menu to do this.


Actions Menu

The Actions Menu contains the following items:

•	Refresh List

This will rebuild the list based on a new scan of memory.

•	Show Lists

This item opens a dialog box from which one or more of the existing lists can be selected for viewing.

•	Compare Lists

This item opens a dialog box from which any two of the existing lists can be compared.  The results will be displayed in a separate window.

•	Load DLL

This item opens a standard file dialog from which you can select a DLL file to load.  Keep in mind that if the DLL is already loaded in memory, its use count will just be increased; it will not be reloaded from disk.  This menu selection is only available on the main (current list) window.

•	Decrement Usage

When a DLL is selected in the window's list, selecting this item will cause its use count to be reduced by 1.  If the count becomes zero Windows will automatically remove the DLL from memory.  This menu selection is only available on the main (current list) window.

•	Unload DLL

When a DLL is selected in the window's list, selecting this item will cause it to be removed from memory.  This menu selection is only available on the main (current list) window.


Options Menu

The Actions Menu contains the following items:

•	Show Full Detail

This item acts as a toggle between showing full information in the list about each module (two lines) or summary information (one line).

•	Autoloading

This item opens a text window that explains how to use DLL Master to load specific DLLs when Windows is started.  See the help topic "Loading DLLs At Windows Startup".


Loading DLLs At Windows Startup

You can instruct DLL Master to automatically load one or more DLLs when Windows starts up.  Simply place a DLL Master program item in the Windows Startup group, and pass it a text file as a command line argument.  The text file might look like this:

C:\CSTUFF\THIS.DLL

C:\CSTUFF\THAT.DLL

D:\TEST\THEOTHER.DLL

If this file were named LOADLIST.TXT, the command line property of the item in the Startup group would look like this:

DLLMSTR.EXE LOADLIST.TXT

You may want to do this to be sure a specific version loads, or to raise the use count so a DLL is not unloaded until you want it to be.


Registering DLL Master

License Agreement

Order Form


License Agreement

Thank you for using DLL Master--we hope you find it valuable and want to add it to your Microsoft Windows 3.1 toolkit.  DLL Master is a shareware program written in Visual Basic and is provided at no charge to the user for evaluation.  Feel free to share it with your friends, but do not give it away altered or as part of another system.  The shareware version of DLL Master is distributed as the compressed file DLLMSTSW.ZIP.  If you distribute DLL Master to friends, associates, or to a computer bulletin board system (BBS), please distribute DLLMSTSW.ZIP rather than the individual files for DLL Master.

DLL Master requires the Visual Basic 3.0 runtime module VBRUN300.DLL.  To ease downloading from bulletin boards, this large module is not included in DLLMSTSW.ZIP.  (It is included with the registered version of DLL Master.)

DISCLAIMER OF WARRANTY

THIS SOFTWARE AND MANUAL ARE SOLD "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED.  BECAUSE OF THE VARIOUS HARDWARE AND SOFTWARE ENVIRONMENTS INTO WHICH THIS PROGRAM MAY BE PUT, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.  GOOD DATA PROCESSING PROCEDURE DICTATES THAT ANY PROGRAM BE THOROUGHLY TESTED WITH NON-CRITICAL DATA BEFORE RELYING ON IT.  THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM.  ANY LIABILITY OF THE SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF PURCHASE PRICE.

REGISTRATION

If you as an individual find this program useful and find that you are using DLL Master and continue to use DLL Master after a reasonable trial period, you are encouraged to make a registration payment (see below) to Shaftel Software.  The registration fee will license one copy for use on any one computer at any one time.

Business, government, institutional and other organizational users of DLL Master must register and pay for their copies of the program within 30 days of first use or their license is withdrawn.

If used on a network, one copy must be purchased for each computer that will be using DLL Master.

REGISTRATION FEES

  shipping/handling

        Single License	$ 25	$ 3

        2-10   computers	each:	$ 22	  "

        11-30  computers	each:	$ 19	  "

        31-60  computers	each:	$ 16	  "

        61-100 computers	each:	$ 13	  "

        100+ Licenses	Contact Shaftel Software

California customers, please add sales tax.

Licenses include one copy of the software plus one set of other materials, if any, which are being distributed with the current registered version (none are at this time).  Licenses are for perpetual, non-exclusive use of the current or a previous version of the program.  The licensed (registered) version of DLL Master may not be distributed, repackaged, or resold to third parties.

Payment by check in USA funds must accompany all orders unless prior arrangements are made.  Send order to:

                 Shaftel Software

                 3730 El Caminito Street

                 Glendale, California 91214

Shaftel Software can be contacted by fax for support or with questions.  The number is (818) 957-7992.  We can also be reached on Compuserve (72540,1462).

DISTRIBUTORS

Anyone distributing the shareware version of DLL Master for any kind of remuneration must first contact Shaftel Software at the address above for authorization.  This authorization will be automatically granted to distributors recognized by the Association of Shareware Professionals (ASP) as adhering to its guidelines for shareware distributors, and such distributors may begin offering DLL Master immediately.  (However Shaftel Software must still be advised so that the distributor can be kept up-to-date with the latest version of DLL Master.)


Order Form

DLL MASTER ORDER FORM

Please register me (us) as a licensed owner of DLL Master:

Name:	__________________________________________________

Company:	__________________________________________________

Address:	__________________________________________________

    	__________________________________________________

City:	_______________________ State: ______ Zip: ___________

Country:	___________________

Check Amount: $________________  Copies: ________  Date: _____________

    ( ) 5.25" disk   ( ) 3.5" disk

First acquired or learned about DLL Master from:

    ( ) Friend	( ) Coworker	( ) Catalog	( )BBS:________________

    ( ) Other_______________________________________________________

04-202

    Send to:	Shaftel Software

3730 El Caminito Street

Glendale, CA 91214