WinTasks 4 Professional is a task-manager program by Liutilities.
The file I was given access to was 1MB and seems to be a fully-functional version. 1MB is nothing these days and its nice to see that some programs can still be small enough to fit on a floppy disk.
The installation requirements are a P200 with 32MB of RAM and 10MB of free HDD space. The operating system requirements are Windows 98, Windows NT, Windows 2000/XP.
I installed WinTasks on 3 systems:
- P3-866, Windows 2000
- P3-866, Windows 98
- Dual XP-1800, Windows 2000
Installation is a basic run-o’-the-mill windows installation with the by now well-known dialogues and questions. The installation was simple and contained no hidden questions that could result in spam-emails, the re-setting of file-associations or anything that I could discern.
The installation did not require a re-boot on the Win2000 system and was completed in well under 5 minutes. The program did not work properly on my Windows NT 3.51 machine, but it did, surprisingly, work just fine on a Pentium 100 with 24MB of RAM under Windows 98.
Launching the program is quite easily done by clicking on the icon in the start-menu. The program can also be set to auto-start if you so desire. WinTasks is a stand-alone program and as such does not require a service running in the background.
In my opinion, the layout is not something that should have a massive priority in such an application – This type of application is not intended for the light-hearted in any case and for the technically savvy the layout is more than adequate. Nothing more is necessary and would in any case probably detract from the true functionality. The wording may be a bit confusing to some people depending on their experience with the English language, however, a brief glance at the manual will resolve these issues.
A screen shot of WinTasks 4 Professional
As can be seen from this screen-shot, WinTasks 4 is a more than viable alternative to even the Windows NT based task-manager in terms of functionality, let alone the much slicker interface.
Starting a new process can be done via the file-menu or the "Start" button. Changing priorities can be more easily done via the increase/decrease priority buttons or using the hot-keys, while processes can be killed with the click of a single button.
Changing Priorities In WinTasks Pro
A charting tool (statistics) is also built into WinTasks, which is somewhat more advanced than the standard Windows NT-based task-managers version. The only thing missing is the "CPU Time" column, which may be of limited use, but is nice to have anyway.
Note: Even under Windows NT/2000/XP you cannot set the priority of a process to anything other than "low", "normal", "high" or "realtime", even though the operating system supports other priority-levels.
Extended Task-Manager Functions
Some of the extended task-manager functions are the ability to search the list of tasks based on a keyword. The search operates only via the process name and not the executable, which caused me some initial confusion. I feel that the search should also include the executable as this is something I would tend to search for, rather than the process name. Having said that, I couldn't find any instances where the search didn't find something that it should, found things that it shouldn't or did anything else unexpected.
WinTasks 4 allows you to make your own notes about any given process, which is displayed on the bottom of the WinTasks window. By default this is turned on, and is something you hardly notice. The description can be saved and is bound to the executable, not the process name.
The manual for WinTasks is not what I would term “essential” reading, but it does pay to have a look. A number of things are explained there that will aid in configuring WinTasks to do exactly what you need it to do. The manual is in PDF format and is 14 pages long, so you can print it without having to destroy an entire forest.
Managing tasks with WinTasks is much like managing them in the WinNT based operating systems, only with a few extra buttons and features added on:
- You can list all the windows that belong to a process
- You can list all the loaded modules (DLL, etc) that are in use by a process
- Statistics for a given process (CPU/Memory usage over time)
- Logging of process activity (modules, windows opened/closed, and the like)
All the above can be quite useful in debugging when you are suffering from mysterious program errors.
The Autostart Button
In addition to process monitoring, you can view all the programs that will auto-start on this machine (taking into account the user currently logged on). This can also be useful as a quick overview. This feature allows you to add, remove and disable applications and/or programs as you see fit. Another feature that can be of use is the ever-present “Print” icon. There is hardly a screen, window or part of the application that cannot be printed. While only useful in certain instances, it might make the life of a network administrator easier if you want to compare the output from several machines.
One of the better features of this program is the ability to make preset configurations of process priorities, which makes WinTasks a genuinely useful tool for tweaking your PC for optimum performance. WinTaks allows you to save a total of 4 presets which can be instantly applied at any time with the click of a button.
However, the user should be aware of some limitation in the implementation of this feature. Basically this feature encounters some problems when there are several threads started by the same executable running. The problem manifests itself as follows (this may be tricky to follow):
Let's say you have 3 instances of "iexplore.exe" running, then you change the priority of the second instance to "low" and then save the profile. This will result in that only the priority of the last "iexplore.exe" process is the one that is saved (which in this case is "normal"). This means that when loading the configuration you just saved, all tasks with the executable "iexplore.exe" are set to "normal" and thus the second instance of "iexplore.exe" will be back to priority level "normal".
Something that WinTasks 4 Pro offers is scripting. Now, I must admit that I am a bit sceptical about this feature -- one mistake in the logic of the scripting, and you can end up in trouble. The manual for this chapter is a bit too basic and seems to contain a few mistakes and/or omissions which must be erroneous in nature. In any case, this did not bode well.
The upside is that the "language" used in the scripting is VBScript, so anyone can learn how to do it in about 30 minutes.
Editing scripts in WinTasks Pro
The scripting routine runs contiuously (as long as WinTasks is running) and will, for all intents and purposes, trigger instantaneously should a condition in one of your scripts apply (such as memory usage being over 75%).
Attempting to make my own scripts
I figured I would try and make a few scripts. One was that whenever I started the Windows Media Player (wmplayer.exe), I wanted the "ghclient.exe" task killed. After several attempts, I could not make this happen, as the "stop" command in the scripting language only stops the "current" process -- but no matter how I formulate the script, which application I start first or last, the process it killed, on two machines without fail was "wmplayer.exe". So, as soon as I opened up the Windows Media player, the process was killed. This strikes me as a serious bug in the logic behind how the scripting is implemented. You should definitely be able to declare which process should be killed, not just the current process, which for all intents and purposes is arbitrary.
I encountered more problems when trying to configure the system to start "ghclient.exe" as soon as the CPU load on the workstation falls below a certain level and "ghclient.exe" or "filter.exe" are not running. It seems that I cannot ascertain the total CPU usage, only the usage of a process. As the process doesn’t yet exist, I find myself somewhat lost.
As far as any really cool uses I came up with for scripting, this part of the application fell woefully short of my requirements.
Before anyone thinks that the scripting is totally useless, let me point out that if you want to modify an existing process based on memory usage or CPU usage, then this program will do that for you very well indeed. This means that I, as a web-developer, found one extremely good use for this scripting tool, namely catching IE6 crashes. Once in a while I get things wrong and IE6 ends up using some 90% CPU and fills the memory up like a bat out of hell. This can easily be caught using WinTasks' scripting and it can kill the run-away process.
Important note: If you make a script to start another process based on an already running process, you must ensure that your logic is sound before enabling it. If not, you can end up starting hundreds of instances of, for example "notepad.exe", per second if your machine is fast enough.
In my opinion a number of additions need to be made to the scripting in order to make it really worth using:
- Need to be able to monitor the total CPU Usage
- Need to be able to monitor the total memory usage
- Need to be able to select which task/process to kill, somehow
- The manual needs to correct the errors, especially in the examples, possibly needs to supply more examples.
WinTasks 4 Pro is a pretty decent task manager with some great features, good ideas and has been well implemented. The application is extremely stable and didn’t crash once in almost a month, despite almost continuous use on one machine.
The memory foot-print is small (2.5MB RAM, 2MB VM) and seems to run even on systems that don’t meet its hardware requirements.
WinTasks is especially suitable for Windows98 users, as it offers a great deal of functionality that the 9x based operating systems doesn’t provide. But even for users of NT-based operating systems, WinTasks offers a viable alternative to the built-in task-manager -- the graphs offer a nice historical view of each individual task up to a period of 24 hours and also overlays the process’ CPU usage with the total CPU usage, which makes the charting-tool of WinTasks of exceptional value. The presets are well-implemented and a genuinely excellent idea which I have never seen before.
The scripting is a great idea, however, in my opinion more variables and options should be available in order to program more effectively as in its current implementation it can only prevent run-away processes from crashing your PC and perform a limited number of other things. After contacting Liutilities I found out that they are indeed planning massive improvements of the scripting-feature in the near future.
One other concern I have is the number of page-faults this program generates -- some 400 per second. As a result, I do not recommend leaving this program running in the background if you are concerned about maximising your frame-rate in a 3D-FPS, as I have noticed minor performance losses while WinTasks is running.
For those of you using more than one CPU, WinTasks display all "overall" CPU usage in one statistic (for all CPUs). The graphs do not display the CPUs seperately.
- Easy and intuitive configuration and saving of process priorities
- Scripting can be genuinely useful in preventing certain bad things from happening
- Small memory foot-print
- Easy configuration of "autostart" items
- Ability to see which DLLs are associated with which tasks (useful with those GPF errors)
- Logging of system events (load, unload of DLLs, thread creation, etc)
- The scripting still needs a lot of development
- Sometimes lacking the detailed information available in the NT-versions, such as VM size and so on
- The high number of page-faults
- The manual could be more comprehensive, offering more examples and/or better explanations (what manual couldn't?)