RtvReco User's Manual

This user manual applies to RtvReco version 50. If you do not have this version, you will find it on our Files Available web page. The old manual for RtvReco version 42 is still available, by following this link.


The General Idea

RtvReco is based on a very simple idea. Simply put, it pushes buttons in dialog boxes without user intervention. Since a large amount of time spent in Windows is getting rid of dialog boxes that always ask the same question and want the same answer, it is a surprise that no-one thought of doing this before. Then again, maybe they did but I simply don't know about it. Whatever the case, RtvReco does exactly what I have just described.

In addition, and as the product has grown with users' comments and ideas, RtvReco can select items in menus, minimise and maximise windows, and run batch files after finding various dialog boxes. All of this is customisable to suit either your language-version of Windows or to do things I never thought of.

Talking of which, I would like to point out that using RtvReco as a method to get rid of "nag" screens in other people's shareware sort of defeats the point of shareware altogether. I know people are using it like that, and that's up to them, but I want to make it clear that I don't condone that sort of usage. Okay, so that's the end of the lecture, and hopefully the end of any lawsuits.

Changes Since The Last Version

Version 30 only had 3 dialog box entries, and couldn't choose menu items. That version was the first to sport tabbed dialog boxes.

Version 40 made a few improvements, the best of which was that it could sit in the Windows "icon tray" at the bottom right-hand corner of your screen. In addition, it added menu item selection and more dialog boxes.

Version 41 fixes a "blue screen of death" problem that some users found, and also allows you to run RtvReco completely invisibly.

Version 42 allows you to select partial menu item names, to get around the problem of menu items such as "Save Ctrl+S", which actually requires the tab character ("\t") to work correctly. It also contains some minor bug fixes.

Version 50 is based on an entirely different code base. It now allows almost instant recognition of dialog boxes or windows, and should have less of an impact on the system if new windows aren't being created. It also uses the Registry to store the configuration information between sessions instead of the old method of using an "INI" file. The window titles you specify don't have to be exact matches, nor do the button names. This version allows you to ignore the underline ("&") character in button names if you wish.

The Main Screen

This screen is invoked by clicking on the icon sitting in the tray at the bottom right-hand corner of your screen (next to the clock). If you rest the mouse over the icon, it will pop-up saying "RtvReco", as this picture shows:

This picture shows the tabs at the top of the RtvReco window, which you can use to set RtvReco's actions and other parameters.

The actions that RtvReco is going to perform are in the list box on the "Actions" page. They are performed in order, so if you want to perform 2 actions on the same dialog box or window you should put the actions in the order you want them to be performed. "Order" is measured from the top down in the list box.

Adding Or Editing An Action

In the "Actions" page, click on the "Add..." (or "Change...") button to bring up the dialog box shown below. This is actually another property sheet containing three tabs in which you can put all your settings.

Each action must have a window title to look for, which is specified in the "Window Title" edit box. You don't have to enter the full window title; instead, you can enter the beginning characters of the title and then remove the check mark from the "Exact Window Title" box in the "Advanced" tab of the property sheet (see below). In the example above, we are using the complete name of the dialog box.

You can choose to run a batch file independently of performing an action. If you just want the "C:\WINDOWS\RUNME.BAT" file to run when the "Dial-Up Networking" box appears, and not press any buttons, you would select the action as "Perform No Action" and then check the "Run The Batch File" check box. You can enter the appropriate batch file to run in the edit box provided. Of course, a batch file can always be run in conjunction with a button press simply by checking the "Run The Batch File" check box and defining an action at the same time.

What you enter next depends on the action you want to perform. In our example above, we want to press the "Reconnect" button so the action to perform is "Push A Button". Because the other variables (such as menu names etc.) aren't applicable, they have been greyed out. Because the "R" of "Reconnect" is underlined in the actual dialog box, we put in the "&" character before the "R". If it had been the "c" of "Reconnect", we would have put the "&" character before the "c" instead. You don't have to put in the ampersand ("&") character at all, as the dialog box below shows:

This tab is used to let RtvReco know when you want to find the window, and to make it easier to find dialog windows and buttons by using non-exact text matching. This applies to the "&" character used for underlining that was discussed above.

RtvReco can find windows based on three criteria. The first one is to find a window if it is being created, or if a focus changes occurs. A focus change happens when a window goes from a highlighted state to a non-highlighted state, either when you press the Alt+Tab key combination or click the mouse on the window without the current focus. Normally, RtvReco would find all windows of this type. Because some windows don't actually get destroyed when you press a button in them, RtvReco can be asked to keep looking for them in case they become "visible" again when you have done something else in the meantime.

The second criteria is to find a window just when it is being created. As discussed above, this stops RtvReco finding a window more than once if the focus keeps changing. This is helpful for windows like the MSN Log-In dialog box, where the dialog doesn't get destroyed but instead greys out the buttons whilst it connects. Technically, this window could be found again by RtvReco as it invokes new windows (like the MSN "Welcome" page), which is not desirable.

Lastly, you can have RtvReco find a window only at a certain time of the day. At all other times, the window will not be found. However, the window doesn't have to be created or have its focus change in order for RtvReco to find it. You might use this feature to automatically disconnect your Internet dial-up connection at midnight each night by having RtvReco press the "Disconnect" button at that time.

You may want to stop RtvReco from finding a particular dialog box or window more than once in a given time period. To do this, select the "Don't Poll Again For" check box and adjust the trackbar to the correct number of seconds.

The final setting RtvReco provides allows you to distinguish dialog boxes with the same titles. You do this by using the "Extras" tab shown below:

You may want to use this feature if you have an application that produces lots of message boxes with the same title. An example here might be the Microsoft Excel program, which frequently asks simple yes/no questions. One of these questions that appears often is the "Re-establish Links?" query when opening a spreadhseet containing remote links. If you always press the "Yes" button here, you can define a dialog action in RtvReco and specify additional text (in this case, "Re-establish Links?"), and RtvReco will only press the "Yes" button in that particular dialog box - ie. not all dialog boxes with a "Yes" button and "Microsoft Excel" as their title.

RtvReco's Timings

Unlike older versions, RtvReco does not have to wait for a dialog box to appear before pressing a button or choosing a menu item. However, when a window or dialog box is created by Windows, it can take a short time for all of the text, buttons, and images to be created as well. For this reason, RtvReco can be asked to wait for a few moments before actually "finding" the dialog box or window. Click on the "Timings" tab to access this screen:

The time interval between a window being created and RtvReco "finding" it is measured in milliseconds. The default setting of 250ms is normally suitable for most systems. Mine is set to 200ms and I have no problems with that. In fact, some dialogs work well with just a 10ms delay. Much depends on your system; the combination of processor speed and video acceleration will affect the speed that Windows can invoke and draw a window or dialog box. If you are having problems with RtvReco, try increasing the delay in this tab.

If you find that dialog boxes are not being found even with the maximum delay, you can try increasing the "polling loops" option. This defaults to 1, meaning that RtvReco waits (in the above example) for 200ms before finding the window, and if it doesn't find it then it gives up. If we used 5 polling loops, RtvReco would try to find the window every 200ms for 1 second (5 x 200ms). If you use this setting, dialog boxes that can normally be found immediately will present no problem, but dialogs that cause problems will be found as soon as possible after they have changed their appearance.

The other variable for RtvReco's timings is the delay between a "find" and running a specified batch file. This delay is measured in seconds, and only needs to be adjusted if you particularly want a gap between finding a box and running a file.

Miscellaneous Items

If you want to quit RtvReco or adjust some other settings, click on the "Special" tab as shown below:

This tab allows you to have RtvReco run entirely invisible (ie. no icon in tray), to find windows that are actually invisible, and to exit the program.

If you have RtvReco running invisible, you can still invoke the main screen by running RtvReco again from the Explorer or the menu you put it on. Remember, though, that if it is running invisible you do not get access to the permanent disable feature described below.

Invisible windows or dialog boxes should not normally need to be pressed by RtvReco, but if you know that there is a window being created that you want dismissed before it is made visible to you, you can check the "Find Invisible Windows" option on this page to have RtvReco find these windows. Note, however, that many users have had problems with older versions of RtvReco finding invisible windows by default because a window is made invisible for the reason that it isn't meant to be able to do anything. The classic example of this is the Dial-Up Networking "Connect To" dialog box, which appears to dismiss itself but actually stays invisible. Allowing RtvReco to find it in this state brings up the message "Unable to complete the specified action at this time".

Disabling The Program

There are 2 ways of disabling RtvReco without actually removing it from memory. This is achieved in either a "permanent" or "temporary" action.

The permanent way to do it is to right-click on the icon in the tray and choose either "Enabled" or "Disabled" from the resulting popup menu. When in the disabled state, RtvReco ignores all dialog boxes and windows that are created.

If you find yourself in an infinite loop because RtvReco keeps finding two dialog boxes and dismisses them in turn, hold down the Ctrl key. This temporarily disables RtvReco until you let go of the Ctrl key.

How It Works

After a few e-mails telling me that I had got this section wrong in the last user manual, I can't be bothered to explain how this version works. Suffice to say that it does work, and if all people want to do is pick holes in my explanations then I've got no interest in providing them with copyrighted source code. For those few who really want to know how this one works, e-mail me and I'll send you something.

The old code for version 42 is still available from this web site, if you have an interest in a bit of C source. Click here to see it.

Credit Where It's Due

RtvReco was written in response to a request made on the Internet. In actual fact, the people responsible for getting me to write this software can usually be found in the #windows95 channel on IRC.

Shaddow (Kevin Mooney) made that request, so you really have him to thank (or curse) for RtvReco. However, many of the features added since the rather inadequate version 10 were due to other peoples suggestions. Amongst these people are: WinX (Tim Yocum), Francois Marier (responsible for the task bar suggestion), Massimo Dalla Barba, Richard Puga, Eric Koske (responsible for the move to more than one dialog box), Ken Fowler (stopped me getting sued by Amdox Corporation), Adam Allouba, Steve Withey, and Benjamin Quincy Cabell V.

Very special thanks go to "discord" and "tbp" in #windows95 for beta-testing the software, along with "Minder" in the same channel for giving me useful feedback.


RtvReco is basically a freeware product, but since I have spent a fair amount of time and money on it myself I am asking for donations to the cause. If you have a CompuServe account, you can register a donation on-line. All the details are given in the "Donations" dialog box from the "About" tab, shown below:


RtvReco is provided "AS IS" without warranty of any kind, either express or implied. In no event shall Jeremy Gelber or RTV Software be held liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.

RTV Software, 1996

Return to RTV Software's Home Page