Dec 142017
 
Window's utility that shows free resources, tasks, and Resource Heap Details. TPW 1.5 source available. A must for windows developers.
File HKFR110.ZIP from The Programmer’s Corner in
Category Windows 3.X Files
Window’s utility that shows free resources, tasks, and Resource Heap Details. TPW 1.5 source available. A must for windows developers.
File Name File Size Zip Size Zip Type
HKFREE.DOC 10654 3877 deflated
HKFREE.EXE 58624 22336 deflated
ORDER.FRM 1905 480 deflated
TOOLHELP.DLL 14128 8552 deflated

Download File HKFR110.ZIP Here

Contents of the HKFREE.DOC file


HKFree
Windows Monitor
Ver 1.10

HKFree Windows Monitor was born out of the need for me, a programmer, to be
able to examine many aspects of the Windows environment while programming or
launching or working without invoking all of the 4-5 other Windows utilities
that each seperately show a piece of the Windows puzzle.

The following features were available in Ver 1.00:
- Icon with GDI resources and System Clock.
- System Information Screen
- Memory Management screen (Global, Paged, Virtual) with a Global
Memory Compact option.
- Resource Detail screen that lets you walk through the Global and Local
heap values.
- Windows List much like System spy showing all active Windows in your
system and relevant information.
- Task List that shows Task and Handles with a Task Termination feature
to eliminate Hung/Looping tasks.

These new features are available in Ver 1.10
- Configurable Icon, you can see Date, Time, GDI% or User% on any line
of the Icon.
- Network Mapping. Option to interrogate Network connection and display
a list of all attached servers (Novell).
- Disk Mapping. Modified System info screen to map all disks and show
a percentage of disk free as well as available and total disk size.
- Windows Detail. You can select a window from the windows list and get
a detailed report on its resources, memory allocation, size, position
and handles.
- Option to make the Icon 'On Top' of all others.
- Option to change the Icon refresh rate.

The key problem was how to show information in a way that minimized the
impact on my already FULL screen and also didn't tie up valuable resource
space or memory.

At the same time I thought it might be nice to show the system time since
that would get rid of 1 icon (the clock) while using the timer hook that
I grabbed anyways for the Windows monitor.

So HKFree was born. (By the way HK stands for House Keeper which is a Windows
shareware program I wrote).

-----------------------------------------------------------------------------
Installing HKFree Windows Monitor:

1. Copy the TOOLHELP.DLL file into your Windows directory or Windows\System
directory. This is a benign Borland Library that is used for some system
calls. Must be present in order for HKFree to run.

2. Create an HKFree directory (if desired).
3. Copy HKFREE.EXE to the directory you chose to place it.
4. Return to Windows.
5. Using Program Manager, add HKFree to your STARTUP group.

-----------------------------------------------------------------------------
What does HKFree display:

The Icon
--------

The Icon is split into a Top and Bottom Line as well as the Name Line.
The Top Line shows the available GDI resources while the Bottom line
displays the system time as a default. The Name Line will default to
'Windows Monitor' however all the various data shown on the Icon can be
changed using the Configuration option on the Menu.

The Icon is updated every 1/2 second however the display is only updated
if the Available resources or the time changes. (Other resource monitors
flash every second or so which bugs the bytes out of me!).

Clicking the Left Mouse button on the HKFree icon will bring up a MENU
with the HKFree reporting options.

Configuration
-------------

You can use configuration to set up how the Windows Monitor Icon looks
and operates. For each of the 3 status areas of the Icon (Top Line,
Bottom Line and Name) you can chose either Resource or Date/Time
information. The Icon will immediately change (even in the background)
when you make a selection.

When you select Date/Time or GDI/User data for the Icon Name they will
display more complete information than what fits in either the Top or
Bottom line of the Icon.

Refresh Rate: Windows Monitor will check on the Icon values every 1/2
second by default, however you can lower or raise the rate as you see
fit. Note that you will use more processing cycles if you lower the
refresh rate.

Icon On Top: If you select the Icon On Top button it will force the
Windows Monitor Icon to be On Top of every other Window that is
displayed on your screen including Word,Excel,Program Manager, etc.
The only drawback with this option is that you can not Un-On-Top it
without shutting down Windows Monitor and starting a fresh copy. This
is due to a quirk in the Windows API call that doesn't quite act like
the documentation says.

System Information
------------------

Windows Version.
- You better be on at least 3.1 or you deserve to crash....

Windows Mode.
- You would be suprised on what Mode some systems are running.

CPU Type.
- 80x86 to 80486.

CoProcessor.
- Is a co-processor present??

Dos Version.

Logged Disk Drive and Directory.
- Calls the system to find out the DEFAULT drive (On a network this
usually will give the Logged drive) as well as the current working
directory.

Disk Map.
- This List Box will map out all Physical and Logical drives available
to you. In addition each drive will show the % Disk Free (in Kb) as
well as the available and total Kb on that drive.

Network Information
-------------------

This option was added by request of several corporate users that had
Networks installed.

Network: Will show the type of Network software that is running on
the system including Netware,NetBois and PCLan. Other network types
will probably appear as 'Unknown'. A message will appear if your
network software is loaded but no network connection is made.

Attached Servers: For Novell networks this will List the servers to
which you currently have access.

Resource Detail
---------------

Global Heap Values.
- Displays the number of Heap items, the number that are LRU (Least
recently used).

If you Click the mouse on the 'Next Global Heap' button you will
scroll through the Global Heap items. Each of these relates to a
resource/window..

System Heap.
- Heap % Available for User.
- Heap % available for GDI. (Resource space free)

Local Heap Values.
- Few Global Heap items will actually have Local Heap declared.
If one does the Local Heap window will show the number of local
Heap items and the the 'Next Local Heap' key will ungrey itself.

You can then press the 'Next Local Heap' key to scroll thru the
Local Heap values until the 'Last Local Heap' Messagebox appears.

List of All Windows
-------------------

If you are familiar with Systems SPY now distributed with Windows then
you will understand the information listed. Since every window has a
handle it was relatively simple to Enumerate the windows and list the
information that would be useful to us.

The fields shown in the List Box are:

Window Type.
Types include 'Top Level', 'Icon', 'Popup' and 'Child'.
Handle.
- The windows handle.
Parent Handle.
- Don't expect this windows parent to preceed this window in the
list, sometimes it will appear farther along. Top Level windows
will have a parent handle of 0000.
Class Name.
- The resource or window class name.
Windows Title.
- This is the title the programmer gave the window, icon, dialog
box or button, ie: what usually appears on the screen below
the icon box.

If you select any Window listed you can then press the 'Detail' button
located on the bottom right of the screen. This will provide you with
the 'core' details of the window you have selected:
- Window Style. These are the Resource attributes of the window you
have selected.
- Class Style. The resource attributes of the Window Class.
- Windows Function.
- Extra Allocation.
- Window Position and Size.
- Handle List.

Memory Information
------------------

Free Global Memory.
- Calculated thru a call to 'GetFreeSpace' function. Shows the
amount of free memory in the Global Heap.

Paged Memory.

Virtual Memory.

Compact Global Memory Button.
- Compacts Global Memory and removes discardable segments. When it
is finished a message box appears for confirmation.

Task List
---------

Displays a List Box with the Task Name, its Handle and its Parents
Handle.

Press the OK button to End

Select a Task and Press the TERMINATE TASK button to eliminate the
selected task from Windows. This has been useful while developing
windows applications that tend to Hang/Choke/Loop which the normal
Windows task termination feature would not terminate.

Note this feature is dangerous!! None of the resources or memory
allocated to the task are reclaimed, they become virtual dangling
parcipicles (?) so I recommend that you reboot/restart Windows after
doing this though I have seen an application reclaim resources when
rerun.

Resident Modules List
---------------------

This option provides you with a current list of all modules that Windows
has loaded. This includes programs, DLLs, Fonts, etc.. In addition
you will see the full Name and Path of where the modules was loaded from.

Use this option to determine extrenuous modules that have been loaded or
incorrect versions of modules.

About Windows Monitor
---------------------

My speech......

-----------------------------------------------------------------------------
ShareWareShareWareShareWareShareWareShareWareShareWareShareWareShareWare

Please support the author of this shareware program, see the
attached order form...

ShareWareShareWareShareWareShareWareShareWareShareWareShareWareShareWare
-----------------------------------------------------------------------------

Note: 'Windows' is TM MicroSoft Corp.


 December 14, 2017  Add comments

Leave a Reply