About / What is QuickTask
-------------------------

QuickTask is a small utility to watch running tasks / memory. Upon settings,
whenever a new task is found, QuickTask notifies you and/or kills the new task
automatically, and frees memory.

This third version was totally rewritten, optimized for speed, size and
simplicity. Lots of user information was removed, the interface redesigned.
For optical issues and keyboard support, a created "my own menu" (actually like
a listview, but requires no additional ocx-file. And supporting keyboard arrow
keys, you won't get nerved with pressing tab / space the whole time).

As long there are bugs or requests, QuickTask is under development. The latest
official version can be found at http://www.ctuser.net. For suggestions,
questions, requests or bug reports, send eMail to info@ctuser.net.
  
QuickTask has now approximate 200b / compressed 80kb. The source code &
resources take about 180kb (3200 lines / 45kb pure code).

This document will give you additional information of QuickTask

System requirements
-------------------
(according to Microsoft)
- Pentium 90MHz / high
- VGA 640x480 or higher
- 24MB RAM for Windows 95 / 32MB for Windows NT.
- Microsoft Windows NT 3.51 / 95 or later.
  (Windows 95 users may need DCOM update (or at least one file of)


Programm overview
-----------------

On the left side is the menu. Here you can choose between:
 - New tasks:
     Shows new tasks. Any running task not defined ("Known tasks") will be shown
     here. This entry will not be removed once quitted.
     You can now set up wether this task(s) are permitted or denied. ONCE A
     TASK IS DENIED IT WILL BE TERMINATED IMMEDIATELLY. SEE SECTION "Before
     killing tasks" FIRST.
     "Remove" will only remove this list entry, not affect the task in any way.
     If the task is still running, it will re-appear.
 - task viewer:
     Shows all tasks currently running. Unlike the Windows 9x/Me TaskManager,
     it will show ALL TASKS running, including essential windows tasks.
     PRESSING "Terminate task(s)" WILL TERMINATED THE AFFECTED TASK
     IMMEDIATELLY. SEE SECTION "Before killing tasks" FIRST.
     You can also "Launch..." programs from here, or shut down windows (similar
     to the "Run" / "Shut Down"-Command in the start menu)
 - known tasks:
     Shows all permitted / denied tasks (New tasks can be defined from the
     "New tasks" menu). If a task is checked, it is permitted, unchecked tasks
     are denied (and will be automatically terminated)
     Change or remove if needed
 - tempory ignored tasks:
     If you choose to 'automatically kill new tasks', you can temporarily allow
     tasks to run. These are found here.
 - autostart:
     Windows gives a lot of possibility to make programmes start on windows
     startup. Some are shown within the Windows Startmenu (Within Programmes,
     Autostart/Startup). This are easy to find, and you will have to remove
     yourself. But most programmes create an entry in the Windows registry,
     often without asking and don't have a setting to remove them from the
     autostart programmes (or they have, but it does not work).
     QuickTask shows any autostart programme listed in the registry, and
     gives you the possibility to remove them. BEFORE REMOVING AUTOSTART
     PROGRAMMES, MAKE SHURE YOU FULLY UNDERSTAND WHAT THIS PROGRAMME IS
     GOOD FOR. THIS STEP CANNOT BE UN-DONE.
 - information, memory & settings:
     Shows programme information, allowes you to free up memory and gives you
         several settings:
      - "Automatically terminate new tasks":
          Any new task(s) will be killed. Should be used by QuickTask experts
          only. This TERMINATES ANY TASKS THAT IS NOT PERMITTED. THIS AFFECTS
          ANY NEW TASKS THAT IS NOT DEFINED. SEE ALSO SECTION "Before killing
          tasks" FIRST
          When activated, the 'Temporary ignored tasks' menu item will be shown
      - "Popup on demad & autominimize":
          If checked, QuickTask will popup whenever a new task is found (Does
          not affect "new tasks" that are already in the list, but not yet
          definded). After an automatic popup, QuickTask will automatically
          minimze if all new tasks have been defined/removed (as long you did
          not change to another menu)
      - "Automatically free up memory"
          If physical memory is getting low, QuickTask can reclaim physical
          memory. Depending on memory requirements of running tasks, speed and
          free physical memory can vary, as well as memory swapping (page file
          usage)
      - "Minimize to system tray"
          Makes QuickTask to use a system tray icon when minimized.
      - "Autorun on windows startut"
          Makes QuickTask start on each windows startup

Before killing tasks
--------------------

Tasks are standalone programmes. This are mostly applications, files with an
exe/com extension. QuickTasks shows all running task, whether system tasks
or useless junk. When killing a system tasks you may risk unforseeable results,
up to mailfunctions, Bluescreens (BSoD) or crashes.

Instead of ending tasks (Sending a terminate-command to the task's form and
giving it the change to self-terminate within a short time) QuickTasks requests
to terminate the task immediatelly. That is a more effective and faster, but not
the way a task should end.

So senseless, QuickTask will terminate itself on demand.

QuickTask may fail on some tasks in certain conditions (especially on Windows
NT/2000/XP), or the tasks will survive some kill-requests. If a tasks survives
5 kill requests, QuickTask will popup to inform you... it's your time to decide
what to do now. (Maybe you can end the task, if visbile, or you may want to
restart your computer, or just ignore it...)

Special Shortcut
----------------

When QuickTask is running, you can easily show/hide it by pressing Ctrl+Alt+End
or Ctrl+Alt+Ins. (Please note that when running multiple instances of QuickTask,
only one instance can get this hotkey. If another program has already assigned
this shortcut, QuickTask will not react on it.

Also, when pressing Ctrl+Alt+PgDn (Page Down), QuickTask will start freeing
memory (This shortcut will free only, but not abort freeing)

Known problems:
---------------

When enabling/disabling an autostart program, there is a delay untill the
new regestry is set. So you may need to manually refresh autostart programs
to make the program appear.

Command line parameters:
------------------------

/flat          use flat buttons
/autorun       Optimize for autostart
/autoquit      Quit after a few seconds if nothing happens

Copying / License / ...
-----------------------

QuickTask is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA  02111-1307  USA

If you have any questions, suggestions or bug reports about this product,
contact me: info@ctuser.net; Do not contact me about general B.A.S.I.C. language
or A.P.I. issues

Files (depending on which package you downloaded, not all files may be included)
 - License.txt   license    GNU General Public License
 - msvbvm60.dll  required
 - QTask3.exe    (required) executable
 - QTask3.txt    readme     information / help
 - vb6os.zip     source     Source code (Visual Basic 6) and related readme
                            files, also contains a copy of the GNU General
                            Public License

If you want to localize QuickTask, please contact me: info@ctuser.net

Version history
---------------

New: New feature
Bug: Essential bugfix (Programm hangs, ...)
Fix: Other bugfix (Display, ...)
Chg: Changes (Optimation, ...)
Del: Removed 'feature' (Automation, ...)
Lng: Language related fix/change

(Some bugs may not affect the previous version, but an unreleased pre-beta
version)

3.21
 - Chg: Using updated ctMenuA usercontrol
 - Bug: This IS NOT MY FAULT! I just previously used a api declaration as
        provided by Microsoft... And it worked well on Windows 98/Me, and even
        under Windows XP (conditionally)
        Manually processing GetCommandLineA api return value (receiving pointer
        to string that is copied using lstrcpynA instead of using Visual Basic
        to receive that string) for Windows XP compatibility

3.20
 - Chg: Removed some obsolete code
 - New: System running display
 - Bug: Tasks in 'Temporaly ignore tasks' list no longer killed / detected as
        new tasks

3.20 beta 1:
 - Fix: Info line image centered properly
 - Lng: German Version GNU-GPL info text shown correctly
 - New: Context Menu key supported
 - Fix: Autostart tasks ending with space(s) remembered correctly, e.g.:
        "e:\autostart\trash.exe   "
 - Chg: Autostart tasks display
 - New: Support for Autostart links in windows startmenu
        (Startmenu\Program files\Startup\*.*)
 - New: Support for ini-file autostart programs (screensaver, load/run=...)
 - Lng: German version missing icons added (crashes if not present)

3.11:
 - Chg: Now published under the GNU General Public License
 - Chg: Info changes
 - Chg: Source optimations for speedups when resizing
 - Chg: New icon (application icon, as shown in the Explorer)
 - New: Quit button (info & settings)

3.10:
 - Chg: Systray icon refreshed / re-added when minimized
 - Fix: Autostart programs display fix
 - Chg: Slightly faster autostart program detecting
 - New: Confirmation when clearing the 'known tasks' list

3.10 beta 2:
 - New: Popup on autostart program changes (optional)
 - New: Delete new tasks feature can be enabled/disabled via systray icon menu
 - New: Settings reset when QuickTask directory / filename has changed
 - Chg: Settings file changed from *.ini to *.lst
 - New: console (for non-official versions only)
 - Fix: Now using GetCommandLineA api (more reliable) instead of visual basic's app.path/exename functions 
 - New: Multiple kill retries when choosing 'Kill task(s)' in the current tasks menu
 - Chg: Blocking accounts aligned right

3.10 beta 1:
 - New: Confirmation when activating 'Automatically kill new tasks'
 - New: Support for temporary tasks
 - Chg: Permanent Systray icon when using 'Minimize to system tray'
 - New: 'Temp. Ignore' / 'Permit' / 'Denie' tasks from the Systray icon menu
 - New: 'Automatically kill new tasks' disabled when a windows directoctory has changed
 - New: Ask to automatically allow all recommend tasks when damaged or missing INI file. (optimized for win98se)
 - New: Autostart programs can be enabled / disabled (MsConfig compatible)
 - Fix: INI file matching exe file
 - Chg: Autostart programs refreshed after some time
 - Chg: Icon changes / new icons for 'temporary ignored tasks'
 - Fix: Flatbuttons also in the left 'menu control'
 - New: /AutoQuit command line parameter (QuickTask will automatically quit if nothing special happens

3.03:
 - New: Vertical scroll bars
 - Chg: Known tasks can now only be changed (from/to accepted/denied) with the buttons
 - Fix: Changing known tasks (from/to accepted/denied) with the buttons working properly
 - New: Flat buttons (/FLAT command line parameter)
 - Chg: Some unload changes to avoid errors / crashes when quitting
 - Chg: Small graphic to seperate informations and settings
 - Chg: All dialog icons stored as standart resources
 - Chg: Menu control optimations (faster and less resources)

3.02:
 - Fix: Sometime crashes when freeing memory fails (thanks for Christian Falk for telling me,
        I did not encounter this problem since an older beta version)
 - Chg: Smother memory freeing
 - Fix: no longer shows 4th button on startup in taskviewer
 - Chg: Changed info/settings - icon
 - New: Ctrl+Alt+End shows/hides QuickTask, if running.
 - Chg: QuickTask cannot be ended during memory freeing (to avoid problems / errors)

3.01:
 - Fix: Updated QTask3.txt
 - Fix: Crashes when unloading during freeups
 - Fix: All new tasks shown properly when freeing memory on startup
 - New: Autorun information shows exefile AND PARAMETERS
 - New: "Any commercial usage is prohibited!" shown in informations
 - Chg: Optimized for multilanguage
 - Fix: When changing "Autorun on windows startup", Autostart list is updated
 - Fix: Icon for autostart information dialog
 - Fix: Removing known tasks working properly
 - Chg: Changed some icons

3.00:
 - Fix: When removing a new task from the list, and its still running, Blocks requests will be displayed correct
 - Fix: Better Keyboard support
 - New: Automatically selects last item in "new tasks" list when none selected

3.00 beta 9:
 - Chg: Lots of code optimation (speed)
 - Fix: Caption "Initialising / freeing" when starting
 - New: Showing button "Remove all" (new/known tasks)
 - Fix: popupmenu for known tasks no longer hilights "Permit"
 - New: Autorun features done ("Show Details", "Remove")

3.00 beta 8:
 - New: This file ("QTask3.txt")
 - Chg: Interface changes
 - Chg: Lots of code optimation
   ...

Behaviours, Bugs, Errors, Problems
----------------------------------

Of course I'm testing my software and find most errors myself. Additionally, a
good friend of mine tests any version (alpha, pre-beta, beta, ...).
If you find an error anyway (that's why it's a beta), try to find out what you
did that caused the error (bug) and find the fastest / easiest way to reproduce
this error and eMail your report (info@ctuser.net). Please also check if the
error depends on one or more settings

Credits
-------

Jan Vorel (thats me):
 - Programming
 - Layout (design)
 - Testing
 - Readme file
 - Homepage (Text, screenshots, ...)
   
Christian Falk:
 - Beta tester
 - Found bugs
 - Some programm requests

Ali Chaudhry:
 - Showed me a simple way to free up memory
 - lots of discussions resulting in better performance
 - Showed me UPX

------------------ General Credits: ------------------

Angus Johnson
 - Resource Hacker

Carlos J. Quintero
 - MZ-Tools

Eugene Roshal
 - WinRar
 - Rar ('DosShell' / HexViewer)

Grennady Feldman
 - Win32Pad (Notepad replacement)

Markus F.X.J. Oberhumer & Laszlo Molnar:
 - UPX

Microsoft:
 - Windows 95/98
 - Visual Basic
 - MSDN

PlanetSourceCode:
 - Visual Basic Source Codes to see how to use API

Toshi:
 - ExeScope: Additional resource operations / checking

ULEAD System:
 - Photo Impact (best image editing programm)

Lothar Rossipaul:
 - Wörterbuch (For some translations)

and many other...
