Copyright: BM_BBAR version 1.0 (c)


BrainMan Button Bar 1.0

Quick start - Shortcut to Work

Main Appearance

Main Menu Functions

Deinstall - sniff

Why register and all about money!

TaskManager - the program in a program

Features of the Update?

Known bugs

Thanx to .. and all the others

About myself, Yeah!


Task Manager

The Taskmanager:

You can start this also as a standalone taskmanager by executing the included file: BMTSKMAN.EXE


All Menu Entries

The left mouse button will present the following in the main entryfield

Task List

Tasks

BrainMan

Workspaces

Exit

TaskManager

The right mouse button will present the following in the main entryfield

The right mouse button will present the following on a recorded macro. If the button is empty pressing the right mousebutton will immediate start the recording.


How to Register
You should register!

 Why? How much? Read this ...

Your  registration fee entitles you to:

Get a  personalized and registered version of  BM_BBAR

The peace of mind in knowing you have legitimized your use of
BM_BBAR and supported the shareware concept

Possibe support for your own software, like ...

Sourcecode to implement the taskmanager in your own software
for a special price, contact me for details

Some extra (less documented) tools from me (not guranteed)

the list of my extra tools

Possible changes for your specific needs

My undying gratitude

How much does it cost you?

Complete registered version:

DM 40 .-           ( for students: DM 20.- )

ONLY: the Flying MacroBar Recorder

DM 25.-	 ( for students: DM 15.- )

ONLY: the Taskmanager

DM 25.-	 ( for students: DM 15.- )

Plus extra for packing and posting etc.
Germany: DM 10 ,-   Europ: DM 15.-   World: DM 20.-

To order seeor print the file: ORDER.FRM

           License Agreement
          (c) by Martin A. Rieth
            all rights reserved

 You are granted a limited license to use and evaluate the software for
  an appropriate period. If you make use of  BM_BBAR  after this period,
  you are obligated to pay a registration fee of  up to 50,- DM:

Martin A. Rieth
Ruhstrathöhe 34
37085 Göttingen
     Germany

Upon receipt of your registration fee, I will mail you a registered
  version of the latest BM_BBAR and grant you a license to use it on
  any one computer at any one time.

 Registered users will NOT receive a printed manual, as this is harmful
  to the environment, and is not needed since the helpfile documents all
  aspects of the application.

 Users experiencing any difficulties or making enhancement suggestions
  are encouraged to contact me at the above address or via eMail to:
                      mrieth@uni-sw.gwdg.de
                      mrieth@namu01.gwdg.de

  I will endeavour to respond to any requests (but there are no promises)

  BM_BBAR is a copyrighted shareware product, but ...

  You are free to use and distribute the unregistered product, provided
  you do not distribute it with a commercial product, charge a fee of
  more than $8 U.S. to cover normal distribution costs, or alter or
  remove this license and copyright notice.

THERE ARE NO WARRANTIES EITHER EXPRESS OR IMPLIED. YOU
USE BM_BBAR ENTIRELY AT YOUR OWN RISK AND THE AUTHOR
DENIES ALL RESPONSIBILITIES FOR ANYTHING


Exit

<Exit> in the main menu will close BM_BBAR.
There is another menuentry which is under the submenu <Tasks> and is called <Exit WIN> this will try to exit Windows just the like the PROGMANAGER´s portion.


Bomb
Bye <TASK>

Bye  will send a <WM_CLOSE> to the application which is currently selected in the Task-Listbox. This is the safest way to end an application. The application has the ability to ask you to safe your work and other work necessary for closing.

Will play the soundfile : BYE.WAV


Bomb
Bomb <Task>

Bomb will destroy the applications messagequeue and is therefor never a good way to end an application. There is no cleaning whatsoever done!
In fact this is one of two ways to end an application without informing the windowprocedure for this task. Here a <WM_QUIT> will be send to the application.

Will play the soundfile : BOMB.WAV


NUKE
Nuke <Task>

Nuke will demolish an application by saying windows it is guilty of everything. This will cause a general protection fault. (you do know this little messagebox, do you?) This is menaged by sending an TerminateApp to windows. This will always kill an application unless windows is not yet very unstable. If it is (what  seems to be constantly) you might kill windows and have to reboot, because there might be some open files, which may destroy windows right away when they see it coming.


Fire <Task>

Fire will end an application by sending it a <WM_DESTROY>. This will normally couse it to end without asking for saving or something, but will try to cleanup all used resources. This will also depend on the quality of this special application.

Will play the soundfile : FIRE.WAV


Task - Listbox

The tasklistbox will show you all running tasks (visible & invisible). The invisible tasks will be marked with a <">.  For this is the main function of a taskmanager look at all non-grayed buttons to get a feeling what BM_BBAR can do for you.


Module - Listbox

The module-listbox shows a list of all loaded libraries. This might be all the dll´s, the fonts, the drivers and such. Modules will be removed from memory when the usagecount will reach a value of zero.


Class - Listbox

This Listbox will show all registered windowclasses!
In the infofield


Will Pay
I will pay!

Very fine button.

Click here to ensure yourself that you will buy the produkt!


Refresh All

This will reread the whole listboxes and will arrange all existing icons on the desktop!


Unregister
Unregister Class

This button will try to unregister a windowclass. I have programmed this button  because I had place in the dialogbox and it is always fun to destroy something when windows is annoying again. Unregistering should never be done if there is any window left which uses this windowclass, most of the time windows will refuse to unregister. ( at least it did on my machine)

Will play the soundfile : UNREG.WAV


Help

We all need help and always, but there almost never is one! Here is a one!

Will play the soundfile : HELP.WAV


Main Task
This will show the handle of the choosen task.


The instance of choosen task.


It has to show the memory used by the choosen task, but I dont know.


The parent task for the choosen task. This information is stolen from the appropriate Taskentry.


Modulehandle of the choosen task.


All elements under windows like exe, dll and such can be loaded several times. Windows does this quite clever. ie. if an application is executed twice windows will simply increase the usagecount and return simply the pointer to code, of course there will be a second dataspace for each application. Windows will try to free everything when the usagecount is run into zero. Every time an application quits the usagecount will decreased.


Here I tried to show the title of the main window of the choosen task. Following the strategy of windows there might be more than one toplevel windows so this might fail, if it does try to use the <Titles>-button for more complex information.


The full path of the choosen task.


Will try to hide all windows by using "enumtaskwindows". If you want more specific information try the <Titles>-button.

Will play the soundfile : HIDE.WAV


Will try to show the main window the one which title is shown. The task has to accomplish the problem of showing all of its associated windows (might fail sometimes). If you want more specific information try the <Titles>-button.

Will play the soundfile : SHOW.WAV


Will set the style "HWND_TOPMOST" to the specified window.

Will play the soundfile : TOP.WAV


Will set the style "HWND_BOTTOM" to the specified window, which will loose any "HWND_TOPMOST"-style.

Will play the soundfile : DOWN.WAV


The taskmanager will quit and the chossen task will be activated.

Will play the soundfile : CHNGTO.WAV


Finish your work with the taskmanager. If the taskmanager was executed by BM_BBAR, it will get the "HWND_TOPMOST"-style again.


<Titles> & <DATA>

This is a toggle button. It will toggle between the normal view like in this bitmap and a listbox which which show more information about the currently choosen task. The functions of the following buttons will work with an eventually choosen window in this listbox: <Hide> <Show> <Top> <Down>


BrainMan

alias Martin A. Rieth

Contact:

Martin A. Rieth
Ruhstrathöhe 34
37085 Göttingen
Germany
eMail: mrieth@uni-sw.gwdg.de
Voice: ++49 - 551 - 794391


I´d like to thank ...

Marita

Matthias

Ralf

Svarup

and of course

Gene Roddenberry & Douglas Adams


Shortcut to Work

BM_BBAR is a flying MacroBar Recorder for all your programs! plus a complete Taskmanager with all functions for real programming under Windows 3.1

To install BM_BBAR on your system:

Copy all programms to a directory of your choice

The sound files might be in an extra directory or might be deleted

Unpack the files if necessary

Start windows

Start BM_BBAR with parameter /S

example:
  from the File-Menu choose Run and type:
  c:\windows\bm_bbar\bm_bbar  /s

Answer questions

Start BM_BBAR again without parameter and try it out

How to Work?

Decide with which programm you want to work

Start this programm

Click with the mouse into the grey zone of BM_BBAR to get the menus

Link BM_BBAR to it:
    a) use "Tasklist"-menuentry (left mousebutton)
    b) choose "Link To"-menuentry (right mousebutton)
       - the cursor becomes a clip
       - click into the Title of the programm

Now click with the right mousebutton into a face to start recording (only keystrokes are recorded)

Click with the left mousebutton into this face to stop recording and for replay

Click around to get the features or read this helpfile


How to deinstall!

BM_BBAR will come with atleast the following files:

BM_BBAR.exe
BMTSKMAN.exe
BM_DLG.dll
BM_KEYB.dll
BM_TASK.dll
 and some wav-files

BM_BBAR will create the following files:

BM_BBAR.ini in your windowsdirectory (sorry)
several files with the extensions BM and a possible number in the specified working directory

Kill the INI file and all files in your specified working directory and there wont be anything left which will remember you to this program! Danger!


Ouch, this is my eye, you fool!


Mmmhh, I love you, too!


Oops, this is something you didn´t want.


The main appearance of BM_BBAR

Tip1:
BM_BBAR will start allways in a relative position to the left-top corner of the linked window. To change this position you can add two entries to the INI-file i.e:
 [Main]
XPOS=100
YPOS=10


Pressing this button with the left mousebutton and holding it down, will allow you to move BM_BBAR to a new position. This position is a relative position to the window it is linked to. The position will resist (at least in this version) and is not saved, unless you say so. If you move the linked window to a new position it will not affect BMBBAR. The rereading of the macrodefinitionfile will, reposition BM_BBAR to its previous saved relative position.
! This might get a problem if this relative position lays out of the visible desktop space. try it and you´ll see what I mean!


Main entryfield:

Click here with the left or right mousebutton to get the main-menu (left) or the special linkmenu (right).


A possible layout for cut, copy, paste, undo, redo and new macros!


A button which is currently recording a macro will look like this.


A new macro which has been recorded will appear with a fat face


A normal empty macro


Infofield: popup window

If the infofields are enabled, you´ll see a previously saved infofield when the cursor stays for a short time on the same spot without action.
To set an infofield press the right mousebutton on the macro button you wish to edit.

see also: Setup


Free Module

This will decrease the usage count of a module by one. If the usagecount reaches zero the module will be released. Since most of the time this is exactly what you want, the <Kill Module> is the right button for this purpose!

Will play the soundfile : FREE.WAV


Kill Module

This will decrease the usage count of a module down to zero. If the usagecount reaches zero windows will release the module from memory.

Will play the soundfile : KILL.WAV


The Tasklist

You will get a menu with a list of (to BM_BBAR) known visible windows. By choosing one of the offered menuentries, BM_BBAR will search for a macrodefinitionfile (mdf) associated with the choosen task and workspace and load it if one exists. For the case that there is no mdf BM_BBAR will display an empty state.
Also one of the major function is that the choosen window will become the active on.

Danger! There is a known bug: switching to or from a dos-application!
it´s not that dangerous but annoying


Pictures - menuentry

There are quiet a lot of bitmaps with buttonfaces for the recorded macros. Currently they are grouped into the following six submenus:


Tasks - menuentry

Will hold some useful functions for the work with windows


BrainMan - menuentry

Will hold most of the functions associated with handling the BM_BBAR & macros


WorkSpace - menuentry

Will allow you to choose between five plus one main workspaces for the current task


Faces for the recorded macros are currently seperated into the following six groups:

Edit	- faces for editing like cut, copy, paste etc.
Debug	- faces for debugging like step in, step over, add watch etc.
System	- faces for system macros like save as, help etc
Numeric	- faces with numerical outfitstyle
Misc	- faces which doesn´t belong to the other groups
BrainMan	- faces with experimentals like triangle buttons


Bottom - menuentry

The cursor will shape like this.
The window which will next be clicked will receive the HWND_BOTTOM  style, so it will go straight under all other visible windows.


Top App - menuentry

The cursor will shape like this.
The window which will next be clicked will get the HWND_TOPMOST style, so this will stay on top of all other windows.


Hide - menuentry

The cursor will shape like this.
The window which will next be clicked will receive a ShowWindow(SW_HIDE), so it will becom invisible.

This will only affect the clicked window and its child windows, NOT vice versa!

If you want to get the window back to the desktop call the taskmanager, switch the <Titles>-button to <Data> and click on the wanted window. To make it visible press the <Show>-button.


Close App - menuentry

The cursor will shape like this.
The next window which is clicked will receive a <WM_CLOSE>-message.

Danger: This may cause severe faults, if you are not choosing a window which is able to handle this message. For me this means never close a mdi-child window.


Destroy  App - menuentry

The cursor will shape like this.
The next window which is clicked will receive a <WM_DESTROY>-message.


Kill App - menuentry

The cursor will shape like this.
The task which is associated to the next clicked window, will be terminated with WM_QUIT this will result in an immediate cut off of the messagequeue.


Terminate App - menuentry

The cursor will shape like this.
The task which is associated to the next clicked window, will be terminated with "TerminateApp".


Exit Win - menuentry

Will send windows "ExitWindows()", which should result in the known messagebox for exiting windows.


Restart Win - menuentry

Will send windows "ExitWindows(EW_RESTARTWINDOWS)", which should result in the known messagebox for exiting windows and then should restart windows.


Reboot Win - menuentry

Will send windows "ExitWindows(EW_REBOOTSYSTEM)", which should result in the known messagebox for exiting windows and then reboot the whole system.


Known bugs - dont report these

Switching to dos-apps, may fail when jumping to it with the "Tasklistmenu"


Features in the update:

Variable number of buttons from 2 to 20

Workspace which will send the macro to any active Window.

You might copy something in the clipboard in one application, switch to another and paste it.

Hotkeys for accessing the macros via keyboard

Maybe some better english, (please eMail for statements)


Info - menuentry

This will show little information about the macrobuttons. This is NOT a very useful function.


Save - menuentry

This will save the current button-definitions into a specific file. The name of file is name of the linked task, the extension will be "BM" and a number from 1 to 5. The number indicates the related workspace.

The workspace "Main" has allways the following name: "BM_BBAR.BM"


Read - menuentry

This menuentry is moved to the "Main-Right-Mousebutton-menu"


Setup - menuentry

This will bring up a dialog to configure BM_BBAR.
You get the same dialog by calling BM_BBAR with the parameter /S.

The Setupdialog will configure the following:

WAV - Soundfilepath

EXE & DLL Filepath

Sound ON / OFF

Infofields ON / OFF

Startoptions for the Taskmanager

Registration


Minimize - menuentry

This will minimize BM_BBAR. One single mouseclick will reactivate it.


Screensave - menuentry

Will activate the normal screensaver.


About Box
About - menuentry

What do you think?

Will play the soundfile : ABOUT.WAV


Main - workspace menuentry

Choose this to get a workspace which is linked to all windows or to no window. So you can record in one task and play in another.


WSP - menuentry

The mark shows which workspace is activated.

You can change the names by setting up the INI-file.
Example:
[Main]
WSP1=Martin
WSP2=Debug
WSP3=Any
WSP4=Edit
WSP5=Guest

Sorry, but so far you have to do this manually.


I love You!


The first beta tester:

His job was the worst and most dangerous!


He was waiting so long for this program:

His first version of BM_BBAR needed fifteen seconds to kill windows.


My dad:

For  ideas and views from a user who hates windows


multiple Play - menuentry

When you want to repeat a macro very often, this is the right menuentry for you. You can enter a repeatcount between 1 and 999.


Set Info - menuentry

This will ask you for a short description of the choosen button. This description will pop up when the mouse stays over a button and the "Infofields" are switched to on in the setupdialog.


Link to - menuentry

The cursor will shape like this.
Click in the title of a window to link BM_BBAR to it. Clicking in another part might result in less useful functions.


ReRead Macro - menuentry

If you changed some buttons from your normal settings and want the normal back, choose this entry to restore the saved settings.


Record - menuentry

The button will show this picture and start recording your macro.
On an empty button the recording will start right away when you press the right button.


Less documented tools by BrainMan

MS-DOS utilities:

BMF	 -> Filefind for all (including subst) drives with substrings

BM28_80 	-> 28lines to 80 columns driver for all VGA-textmodes

D 	-> small, short and fast directory utility

BM_PUSHM  -> support for dual-monitor systems

ANYINT 	-> hacking support for viewing interruptactivity

CCD 	-> change to original drive from substed drive

STUF_KBD 	-> push complete codes into the keyboardbuffer

STUFPARM 	-> support for stuf_kbd

WT 	-> Directory find for all (including subst) drives with substring

MS-Windows utilities:

BM_DEBUG	 -> programming support for dual-monitor systems

BM_WINEX 	-> just another windows exit programm (included)

BM_WTOOL 	-> windowmanagement tools (included)

BM_ICONS 	-> Icon Library ,with around 700 icons

Contact me if you want these tools. They are all (except BM_DEBUG - with source) freeware (!) , so not serviced.