home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
JUMP.ZIP
/
README.DOC
< prev
Wrap
Text File
|
1991-09-19
|
3KB
|
93 lines
DISCLAIMER
----------
The Program is supplied "AS IS" without any warranty of any kind,
either expressed or implied, including, but not limited to, the
implied warranties of merchantability and fitness for a particular
purpose.
In no event shall Robert Mahoney be liable for any damages, either
direct or consequential, caused by the use, or inability to use,
this program, even if Robert Mahoney has been advised of the
possibility of such damages.
INTRODUCTION
------------
I originally came from a DOS workstation running the 3270 workstation
and then went to OS/2 v1.1 EE. Both of these had the neat feature
of pressing Alt-Pageup to switch between sessions. I was crushed when
OS/2 v1.2 EE came out and didn't have that feature. Using the mouse
or Crtl-Esc and selecting from the task manager just didn't cut it,
so when I finally got ahold of the v1.2 EHLLAPI documents and an
example of system hooks (thanks to Mike Jones and the IdleNews staff)
I wrote this system hook program to intercept the Alt-Pageup
messages and maximize the 3270 sessions one-by-one.
INSTRUCTIONS
------------
The Session Jumper comprises of 3 programs:
JUMPLDR.EXE
JUMP.EXE
JUMPHOOK.DLL
Place JUMPLDR.EXE and JUMP.EXE on your PATH. Place JUMPHOOK.DLL
on your LIBPATH. At a command prompt type "start JUMPLDR"
or put JUMPLDR.EXE as an entry in one of your groups.
DETAILS
------------
Some technical info about the 3 programs - see the source
for more comments.
Jumpldr.exe
-----------
This program is the hook loader and visual notification that
the hook is active. It loads JUMPHOOK.DLL and sets the hook.
The checkbox indicates whether the hook is active. If the hook
is inactive then Alt-Pageup will not maximize the 3270 session.
It also starts JUMP.EXE and creates and sets the JUMP semaphore
and DIE semaphore.
Jump.exe
--------
This program is started detached and runs invisibly. It is
triggered by semaphores. The JUMP semaphore is set in JUMPLDR
and so is the DIE semaphore. JUMP.EXE waits for the JUMP
semaphore to be cleared and then checks the DIE semaphore
if it is not to die then it does the maximizing it then sets
the JUMP semaphore and loops back to wait.
Jumphook.dll
------------
This intercepts all input queue messages. When it sees an Alt-Pageup
it clears the JUMP semaphore.
The reason I took a 3 tiered approach rather than a 2 tiered is
that I was unable to get the EHLLAPI PM Window services calls
working under PM or in the hook DLL. If you can do this then
please let me know how.
BUGS
----
I have a crude workaround for the only bug I know of. Sometimes
when exiting the JUMPLDR the JUMP semaphore would not be closed
and if you run the program again, it was unable to create
the semaphore (already exists). So now if the create fails, I just
open the semaphore. Pretty lame, but damned if I could find where
the problem lay. Probably a timing problem and the best solution
is probably not to use a DIE semaphore but for JUMP.EXE to place its
PID in shared memory and have JUMPLDR kill it upon exit.
I can be reached on:
Fidonet OS/2 echos: OS/2 Shareware (1:109/347)
703-385-0931 (HST DS)
703-385-4325 (HST DS)
BIX as RMAHONEY
Robert Mahoney
27 East Jackson Ave
Babylon, New York 11702