home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 18 REXX
/
18-REXX.zip
/
rxswqry.zip
/
RxSwitchQuery.INF
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
1998-01-28
|
16KB
|
422 lines
ΓòÉΓòÉΓòÉ 1. Introduction ΓòÉΓòÉΓòÉ
RxSwitchQuery V1.00
A REXX interface DLL for querying the WinSwitchList
Copyright (C) 1998-01-28 - Mads Orbesen Troest & SIRIUS Cybernetics
Documentation Revision 1.00 (1998-01-28)
ΓòÉΓòÉΓòÉ 1.1. Abstract ΓòÉΓòÉΓòÉ
Abstract Introduction
So... What on earth is this stuff all about?!
RxSwitchQuery (RxIsRun.DLL) is a small OS/2 Dynamic Link Library (DLL) that
interfaces routines for querying the OS/2 system WinSwitchList with REXX.
Querying the WinSwitchList allows you to check if a certain program (OS/2, DOS
or Windoze) is running. RxSwitchQuery also allows you to wait for a given
application to appear in the WinSwitchList, or for an application to disappear;
this is useful in situations where scripts have to be synchronised with running
programs.
These functions cannot be made from standard REXX, and resorting to
tape-and-glue solutions of repeatedly calling external query programs is a very
slow and computionally intensive task. With this easy-to-use and versatile DLL,
you can easily and efficiently check for running OS/2, DOS or Windoze programs
from your standard REXX programs.
ΓòÉΓòÉΓòÉ 1.2. Conditions of Use ΓòÉΓòÉΓòÉ
Conditions of Use
This version is to be considered internal SIRIUS Cybernetics software; it must
not be spread to other parties without the author's explicit accept!
If you are not a member of SIRIUS Cybernetics, you may only use this package if
you have got the consent of Mads Orbesen Troest.
Click here to see how to contact the author...
ΓòÉΓòÉΓòÉ 1.3. Contacting Author ΓòÉΓòÉΓòÉ
Contacting Author
If you wish to contact me for any questions, feedback, suggestions or just
plain talk, you can reach me in the following ways:
SnailMail
Mads Orbesen Troest
Dyrskuevej 53, 1.MF
DK-9200 Aalborg SV
Denmark
Phone
(+45) 3073 5352 (Voice)
(+45) 9818 5383 (Fax/Data)
InterNet
motr96@sprog.auc.dk
http://www.sprog.auc.dk/~motr96
Eek @ #Eek & #OS/2 (IRC Net)
FTN
2:238/202@FidoNet
81:445/202@OS2Net
Never you hesitate to write; I always enjoy response to my work!
ΓòÉΓòÉΓòÉ 2. Using RxSwitchQuery ΓòÉΓòÉΓòÉ
Using RxSwitchQuery
This section describes how you make RxSwitchQuery accessible to your own REXX
code, and how you go about utilising the available functions.
ΓòÉΓòÉΓòÉ 2.1. Making RxSwitchQuery Accessible ΓòÉΓòÉΓòÉ
Making RxSwitchQuery Accessible
The first thing you must do to be able to use RxSwitchQuery from your own REXX
programs is to tell the REXX interpreter which external functions to load from
which DLL. This is achieved through the RxFuncAdd command:
/* Sample REXX Code for making all functions of RxSwitchQuery (RxIsRun.DLL) available */
CALL RxFuncAdd "RxSwitchQueryVer", "RxIsRun", "RxSwitchQueryVer"
CALL RxFuncAdd "RxSwitchQueryApp", "RxIsRun", "RxSwitchQueryApp"
CALL RxFuncAdd "RxSwitchQueryWaitAppInList", "RxIsRun", "RxSwitchQueryWaitAppInList"
CALL RxFuncAdd "RxSwitchQueryWaitAppNotInList", "RxIsRun", "RxSwitchQueryWaitAppNotInList"
I know... I might have made it easier for you by providing a
"RxSwitchQueryLoadFuncs" routine or something, but I was too lazy to do that;
you'll have to accept this, or bug me to implement it in a newer version, if
any such is to come.
A comment on unloading the DLL (and other REXX DLLs): It is, in fact, very
nasty behaviour if you try to manually enforce OS/2 to drop the external
functions it has loaded. OS/2 will automatically discard these DLLs when the
session from which it was loaded is ended; if you force it to drop the
functions before that, all other running programs that may use it will also
loose the funcs! Please remember that OS/2 is a very advanced multi-tasking,
self-managing system!
After having added the functions with the REXX RxFuncAdd call, you should be
able to call them. The next section provides an overview of the set of
routines to access the WinSwitchList from your own REXX application...
ΓòÉΓòÉΓòÉ 3. RxSwitchQuery Function Reference ΓòÉΓòÉΓòÉ
RxSwitchQuery Function Reference
This section provides a reference of the functions that RxSwitchQuery
(RxIsRun.DLL) provide. These functions are:
RxSwitchQueryVer - Return Version Information
RxSwitchQueryApp - Query WinSwitchList for Application
RxSwitchQueryWaitAppInList - Wait for Application to Appear in
WinSwitchList
RxSwitchQueryWaitAppNotInList - Wait for Application to Disappear from
WinSwitchList
Conventions
During the specification of the routines, the following conventions are
followed:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé[ brackets ] ΓöéOptional argument; e.g. "[fishname] <dishname>" Γöé
Γöé Γöémeans that you may provide the name of the fish, Γöé
Γöé Γöéand you must provide that of the dish. Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé< brackets > ΓöéMandatory argument; e.g. "<fishname> [dishname]" Γöé
Γöé Γöémeans that you have to provide the name of fish, Γöé
Γöé Γöéand you may also provide that of the dish. Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéITALIC STRING ΓöéDefault value if argument is not specified; e.g. "Γöé
Γöé ΓöéSILD|DILD" means "SILD" will be used, if argument Γöé
Γöé Γöéis not present. Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé| or ΓöéIndicates an "or"; e.g. "SILD|DILD" means either Γöé
Γöé Γöé"SILD" or "DILD". Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöélower case string ΓöéArgument with non-fixed contents; e.g. "fishname" Γöé
Γöé Γöémeans that you are to provide an argument holding Γöé
Γöé Γöéthe name of the fish. Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéUPPER CASE STRING ΓöéArgument with fixed contents; e.g. "SILD|DILD" Γöé
Γöé Γöémeans that the argument must be either "SILD" or Γöé
Γöé Γöé"DILD" (not case sensitive, though). Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Arguments passed to the routines are never case sensitive.
ΓòÉΓòÉΓòÉ 3.1. RxSwitchQueryVer - Return Version Information ΓòÉΓòÉΓòÉ
RxSwitchQueryVer
RxSwitchQueryVer() - version string
RxSwitchQueryVer returns a cimbined version and copyright string.
Arguments:
N/A
Returns:
The format of the returned string is:
ID VER DLL - COPYRIGHT NOTICE
ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ ΓöÇΓöÇΓöÇΓöÇΓöÇ ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ ΓöÇ ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
RxSwitchQuery V1.00 (RxIsRun.DLL) - (C) Mads Orbesen Troest & SIRIUS Cybernetics 1998
Even if the contents may change in coming releases, these fields will always
remain, delimited by ' ' (space). When reaching the '-' (dash) field, the
rest of the string is a copyright notice.
Examples
ΓòÉΓòÉΓòÉ 3.2. RxSwitchQueryApp - Query WinSwitchList for Application ΓòÉΓòÉΓòÉ
RxSwitchQueryApp
RxSwitchQueryApp( <program>, [PARTIAL|NOPARTIAL], [CASE|NOCASE] ) - RUNNING|NOT_RUNNING
RxSwitchQueryApp searches the current WinSwitchList for an application, and
reports whether or not it is present.
Arguments:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöéprogram ΓöéString to search for. Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöépartial match ΓöéSpecify "PARTIAL" if you want to accept partial Γöé
Γöé Γöématches in the comparison; useful for programs Γöé
Γöé Γöéthat append the name of the file they work on to Γöé
Γöé Γöétheir entry. The default is "NOPARTIAL". Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöécase sensitivity ΓöéSpecify "NOCASE" if you want the comparison to Γöé
Γöé Γöédisregard case; the default is "CASE". Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Returns:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
ΓöéRUNNING ΓöéIndicates that the queried program was found in Γöé
Γöé Γöéthe WinSwitchList. Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéNOT_RUNNING ΓöéIndicates that the queried program was not found Γöé
Γöé Γöéin the WinSwitchList. Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Examples
ΓòÉΓòÉΓòÉ 3.3. RxSwitchQueryWaitAppInList - Wait for Application to Appear in WinSwitchList ΓòÉΓòÉΓòÉ
RxSwitchQueryWaitAppInList
RxSwitchQueryWaitAppInList( <program>, [PARTIAL|NOPARTIAL], [CASE|NOCASE], [pollfreq] ) - OK|ABORTED
RxSwitchQueryWaitAppInList waits for an application to appear in the
WinSwitchList.
Arguments:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöéprogram ΓöéString to search for. Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöépartial match ΓöéSpecify "PARTIAL" if you want to accept partial Γöé
Γöé Γöématches in the comparison; useful for programs Γöé
Γöé Γöéthat append the name of the file they work on to Γöé
Γöé Γöétheir entry. The default is "NOPARTIAL". Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöécase sensitivity ΓöéSpecify "NOCASE" if you want the comparison to Γöé
Γöé Γöédisregard case; the default is "CASE". Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöépollfreq ΓöéOptionally specifiy the polling frequency in Γöé
Γöé Γöémilliseconds; the default value is 1000 = 1 Γöé
Γöé Γöésecond. This specifies the frequency with which Γöé
Γöé Γöéthe WinSwitchList is queried. Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Returns:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
ΓöéOK ΓöéIndicates that the queried application appears in Γöé
Γöé Γöéthe current WinSwitchList. Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéABORTED ΓöéIndicates that the query was terminated Γöé
Γöé Γöéprematurely; e.g. by pressing CTRL+CREAK. Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Examples
ΓòÉΓòÉΓòÉ 3.4. RxSwitchQueryWaitAppNotInList - Wait for Application to Disappear from WinSwitchList ΓòÉΓòÉΓòÉ
RxSwitchQueryWaitAppNotInList
RxSwitchQueryWaitAppNotInList( <program>, [PARTIAL|NOPARTIAL], [CASE|NOCASE], [pollfreq] ) - OK|ABORTED
RxSwitchQueryWaitAppInList waits for an application to disappear from the
WinSwitchList.
Arguments:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöéprogram ΓöéString to search for. Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöépartial match ΓöéSpecify "PARTIAL" if you want to accept partial Γöé
Γöé Γöématches in the comparison; useful for programs Γöé
Γöé Γöéthat append the name of the file they work on to Γöé
Γöé Γöétheir entry. The default is "NOPARTIAL". Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöécase sensitivity ΓöéSpecify "NOCASE" if you want the comparison to Γöé
Γöé Γöédisregard case; the default is "CASE". Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöépollfreq ΓöéOptionally specifiy the polling frequency in Γöé
Γöé Γöémilliseconds; the default value is 1000 = 1 Γöé
Γöé Γöésecond. This specifies the frequency with which Γöé
Γöé Γöéthe WinSwitchList is queried. Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Returns:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
ΓöéOK ΓöéIndicates that the queried application appears in Γöé
Γöé Γöéthe current WinSwitchList. Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéABORTED ΓöéIndicates that the query was terminated Γöé
Γöé Γöéprematurely; e.g. by pressing CTRL+CREAK. Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Examples
ΓòÉΓòÉΓòÉ 4. Examples of Usage ΓòÉΓòÉΓòÉ
Examples of Usage
This section provides a couple of examples on how to use RxSwitchQuery in
practice:
Wait for OS/2 Application to Start
Wait for Windoze Application to End
ΓòÉΓòÉΓòÉ 4.1. Wait for OS/2 Application to Start ΓòÉΓòÉΓòÉ
Wait for OS/2 Application to Start
This example demonstrates how to wait for an OS/2 application to start. The
script uses the default non-partial matching, because we want to make sure we
get the right application. Case insensitivity is enabled because we want to be
able to enter the application name on the commandline, without bothering about
matching the case of the program exactly. A polling frequency of 5000 (5
seconds) is specified; this means that RxSwitchQuery will only check for the
application appearing in the WinSwitchList every 5 seconds.
Note
If the program you query is the sort that "pop in and out" quickly, you must
- of course - use a hight polling frequency to make sure you do not miss it.
However, for normal situations the default of 1000 milliseconds will do
nicely.
Hint
To find out what string to query, use ALT-TAB to see how an OS/2 application
appears in the WinSwitchList.
Source Code:
/
/* RxSwitchQuery (RxIsRul.DLL) Test: Wait for OS/2 App to Start *
* *
* (C) Mads Orbesen Troest & SIRIUS Cybernetics 1998 */
PARSE ARG App /* Get App on CommandLine */
IF App = "" THEN EXIT /* Exit if no App Specified */
/* Load External RxSwitchQuery Routines: */
CALL RxFuncAdd "RxSwitchQueryVer", "RxIsRun", "RxSwitchQueryVer"
CALL RxFuncAdd "RxSwitchQueryApp", "RxIsRun", "RxSwitchQueryApp"
CALL RxFuncAdd "RxSwitchQueryWaitAppInList", "RxIsRun", "RxSwitchQueryWaitAppInList"
CALL RxFuncAdd "RxSwitchQueryWaitAppNotInList", "RxIsRun", "RxSwitchQueryWaitAppNotInList"
/* Do some Initial ChitChat: */
appStr = RxSwitchQueryVer() /* Retrieve Version Information */
SAY ""
SAY "RxSwitchQuery Test: Wait for OS/2 App to Start, utilising:"
SAY WORD( appStr, 1) WORD( appStr, 2 ) WORD( appStr, 3 )
SAY ""
SAY "Γûá INFO : Waiting for '"App"' to Start..."
RC = RxSwitchQueryWaitAppInList( App,,'NOCASE', 5000 ) /* Only poll every 5 seconds */
IF RC = "OK" THEN SAY "Γûá INFO : OK!"
ELSE SAY "Γûá PANIC : Aborted!"
ΓòÉΓòÉΓòÉ 4.2. Wait for Windoze Application to End ΓòÉΓòÉΓòÉ
Wait for Windoze Application to End
This example demonstrates how to wait for a Windoze application to end. The
script uses partial matching, because of the way Windoze applications appear in
the WinSwitchList. Case insensitivity is enabled because we want to be able to
enter the application name on the commandline, without bothering about matching
the case of the program exactly. Since no polling frequency is specified, the
default of 1000 (1 second) is used.
Hint
To find out what string to query, use ALT-TAB to see how a Windoze
application appears in the WinSwitchList. Many programs append the name of
the file they work on; therefore you usually have to use partial matching
when querying Windoze programs.
Source Code:
/
/* RxSwitchQuery (RxIsRul.DLL) Test: Wait for Windoze App to End *
* *
* (C) Mads Orbesen Troest & SIRIUS Cybernetics 1998 */
PARSE ARG App /* Get App on CommandLine */
IF App = "" THEN EXIT /* Exit if no App Specified */
/* Load External RxSwitchQuery Routines: */
CALL RxFuncAdd "RxSwitchQueryVer", "RxIsRun", "RxSwitchQueryVer"
CALL RxFuncAdd "RxSwitchQueryApp", "RxIsRun", "RxSwitchQueryApp"
CALL RxFuncAdd "RxSwitchQueryWaitAppInList", "RxIsRun", "RxSwitchQueryWaitAppInList"
CALL RxFuncAdd "RxSwitchQueryWaitAppNotInList", "RxIsRun", "RxSwitchQueryWaitAppNotInList"
/* Do some Initial ChitChat: */
appStr = RxSwitchQueryVer() /* Retrieve Version Information */
SAY ""
SAY "RxSwitchQuery Test: Wait for Windoze App to End, utilising:"
SAY WORD( appStr, 1) WORD( appStr, 2 ) WORD( appStr, 3 )
SAY ""
SAY "Γûá INFO : Waiting for '"App"' to End..."
RC = RxSwitchQueryWaitAppNotInList( App, 'PARTIAL', 'NOCASE')
IF RC = "OK" THEN SAY "Γûá INFO : OK!"
ELSE SAY "Γûá PANIC : Aborted!"