HideWindow 1.4 ============== Thank you for acquiring this copy of HideWindow. HideWindow is a simple program that is able to hide and "unhide" an application's window. If the window is visible, the program will hide it, otherwise, it will make it visible again. A great use for this program is to hide the box that Windows 95 displays after connecting to an Internet service provider. By noting the title displayed by this or any other window, you can make HideWindow do its thing. There are several ways to use HideWindow. If you run HideWindow without providing any arguments, a dialog box will pop up with a list of available windows. By choosing one of these names and clicking on the "Hide/Show" button, you can toggle the visibility state of that window. By default, the list of windows will include only those that have a title, and will list only one of any windows that share the same title. To display all available windows, click on the "Use handles" check box, which will show the handle of each window, followed by its name. HideWindow will never include its own window in the list of windows. You can use the "foreground" check box to bring a window to the top whenever it's made visible. Another way to use HideWindow is to provide a set of command line arguments. You should begin creating a shortcut to HideWindow, while providing the apropriate arguments. The syntax is as follows: HIDEWNDW [/n] [/c | /h] [/fh | /fs] [/t | /ts | /ns] [/w ] [classname] where "windowname" is the name of the window you want hidden or redisplayed. You can then hide or redisplay the specified window by clicking on the icon created. To make it even easier to hide a window, you can create a "shortcut key" to the shortcut you just created, so you can invoke it with just a few keystrokes. You can set the shortcut key by right-clicking on the shortcut, selecting properties and choosing the shortcut tab. The optional argument "classname" will tell HideWindow to act upon a window matching both windowname and classname. The following command line switches can be used with the above method: /n - suppress the "window not found" error message. /c - this will let you omit the "windowname" argument, while specifying a class name instead. The program will act upon a window belonging to that class, regardless of the window's title. /h - tell HideWindow to expect a hexadecimal window handle instead of a window name. Since handles often change each time applications are run, however, you might want to make sure the handle you're specifying is the one you really want. Since a handle by itself can identify a window, it makes no sense to specify a class name. /fh - will force a window to he hidden. /fs - will force a window to be revealed. /t - if "windowname" is being revealed, you will force the window into the foreground (the top). /ts - similar to the above, but will also cause the window to stay on top at all times (always on top). /ns - this will turn an "always on top" window into a normal window. /w - this will tell hidewindow to wait for the specified window for a maximum of seconds. If the window is found before the timeout period expires, HideWindow will act upon this window and then exit as usual. You can specify a timeout of INF, which means it won't stop running unless the window is found. Tip: If HideWindow is waiting for a window and you don't want to wait for it to terminate, you may use the Windows 95 "Close Program" dialog box to stop it prematurely. You can do this by pressing [CTRL]-[ALT]-[DEL], selecting HideWindow and clicking on "End Task". HideWindow also accepts the following command line switches, in the following format: HIDEWNDW [/h] /l This saves the list of open windows to a file. The optional argument /h will cause window handles to be listed along with the window names. HIDEWNDW [/h] /s Stores the visibility status of the specified window, in the specified file. Optional argument /h will cause hidewndw to use a handle instead of a string for the window name. HIDEWNDW [/n] /r This will run the application specified in "command line" in a hidden state upon startup. This should work with most Win32 and Win16 applications. The command line parameter should be the application name and arguments to be passed to it. HIDEWNDW [/n] [/h] /ri This is similar to the previous method, but it will also save a list of the windows that the program creates upon startup. Please note that this switch will cause HideWindow to list only those windows created by the program specified. Some programs might actually call other programs, in which case the windows for those programs will not be listed. This is the case of the write.exe program under Windows 95, which does nothing more than execute wordpad.exe. Please note that any argument that contains spaces should be enclosed in quotation marks. If you want HideWindow to interpret quotations as part of the argument, you should enclose it within single quotation marks. So, for example: HIDEWNDW /r 'write "Long file name.txt"' will run Word Pad while passing to it the argument "Long File Name.txt". Also note that the argument "window has 'single' quotations" will translate to: window has 'single' quotations. Run any application hidden upon startup ======================================= There's a little trick which will let you right click on a program's icon and run it in hidden form. Please note that this involves modifying the Registry, which contains important information that should not be altered under normal circumstances. Whenever you're working with the Registry, be sure to exercise extreme caution. - Run the Registry Editor (regedit.exe) - Find the subkey: HKEY_CLASSES_ROOT\exefile\shell - To this key, add a key called: Run Hidden - Add a key to Run Hidden called: command - Modify command's default value to contain the string: hidewndw /r /n '%1 %*' Please note that for this to work, hidewndw.exe must be located in a directory which is listed in the path. I recommend you place it in the Windows 95 directory (usually c:\windows). People who have helped me improve HideWindow ============================================ Special thanks to Steven Myers, who gave me many ideas for improving this program. Many of the command line features implemented in this version were inspired by his suggestions. He also helped me test the application for bugs, which I hope are fixed by now. Release Notes ============= HideWindow version 1.4 for Win32. This version is known to run under Windows 95 but has not been tested under Windows NT. It can run under Windows 3.1, but only if Win32s is installed. Testing under Windows 3.1 has been minimal, so I can't say how well HideWindow will run with it. You can always get the latest version of HideWindow by downloading it from the WinSite archive (ftp.winsite.com). The name of the file is hidewndw.zip and it's located in the directory /pub/pc/win95/desktop. Legal Information ================= HideWindow is Freeware. Please note, however, that HideWindow is copyrighted material. Permission is granted to any individual or institution to use, copy or redistribute this software so long as all of the original files are included unmodified, that it is not sold for profit, and that this copyright notice is retained. Also note that you may not disassemble or reverse-compile this program; doing so would constitute copyright violation. HideWindow - Copyright (c)1996 Adrian Lopez; All Rights Reserved. HideWindow was created by Adrian Lopez. Although I ask for no money in exchange for this program, I am at a point where I could really use some extra money. Therefore, if you find this program useful, be kind enough to consider sending a few bucks. Any money you send will be spent towards the purchase of better computer equipment. You can send a check or money order, for any amount desired, to the following address: Adrian Lopez PO BOX 22556 UPR Station San Juan, PR 00931-2556 You can also send questions and comments to the following address. I will do my best to try to answer your questions as soon as possible, but I can't guarantee a reply. Here's how to contact me via E-Mail: Adrian2@caribe.net al_lopez@upr1.upr.clu.edu