PanSoft Runner v2.17.01
Leonid V.Panoff (panoff@comset.net, http://home.comset.net/panoff/runner)
-------------------------------------------------------------------------
UPDATES LIST
-------------
1) New option ([op]tion section)
   To replace default action for left doubleclick on Runner's icon.
   Allows to set any schedule command (without time field) to execute
   when user clicks twice on Runner's icon in the SysTray. It override
   default action (calling of NOTEPAD.EXE to edit schedule) and action
   of the option "ed" (calling of user defined schedule editor). This
   option does not wait for end of editing, as default or "ed" option.
   Option code "dc".
   Option format 
	dc=<command>
   Example:
	dc=#"Schedule edit.LNK"
	dc=>me=You click twice on my icon!
2) Runner now saves session data automatically. Instructions SS and RS
   have become obsolete and removed. To set pathname of session data file
   new option DF may be used. It is optional. By default used RUNNER.SSS
   in the program directory.
   Option format
	df=<pathname>
   Exmaple
	df=c:\Program Files\Runner\Data\data.sss
3) Was found and improved bug if cyclic command (when cycle finished
   no any other command executed).
4) New ability - now you can insert any ASCII-code (except zero) into the
   command, using format:
	?*<code>
   For example, to place information in ME instruction on several strings,
   you can use code CR (decimal 13, or octal 015, or hexadecimal 0xD, or
   binary 0b1101) as following:
	Command: >me=First line*?13 Second line*?015 Third line*?0xD Fourth line*?0b1101*+
                 Last line!
	Result: message box with following content

		First line
		Second line
		Third line
		Fourth line
		Last line!
  
  To use not decimal base (hexadecimal, octal or binary) for character code,
  use leading '0' (zero) for octal, '0x' for hexadecimal and '0b' for binary.
  It is not case sensetive.
5) New built-in variables (described without prefix *?):
	TODAYdd	- two digit current date (01,15,27, etc.)
	TODAYmm - two digit current month
	TODAYy2 - two digit current year
	TODAYy4 - four digit current year
	WEEKDAY - two digit day of week
	YEARDAY - three digits day of year (January,1 = 001, December,31 = 365 (366))
	TIME6   - time as HHMMSS (six digits)
6) Was improved bug being occured during interaction with MS Exchange POP3
   service (instruction CB, "Can't get message count")
7) Was improved bug in inmplementation of group of "+"-commands.
8) Was added new parameter of section [op], code 'sc', use it when Runner
   works as service NT installed with SRVANY or AppToService utilities. This
   parameter set the Runner to not finished when user log off.
9) Was added new built-in instruction to direct input (keyboard and mouse)
   events emulation. This instruction works directly, as well, as user.
   It has following format:
   	ie=macros
   Macros consists of the number of event records using following rules:
   a) alphanumeric and other printable keys emulation records using small
      letter, digit or other character drawed on the key
   b) to emulate unprintable special keys, use following keywords (upper
      case):
      ESC ENTER SHIFT ALT CTRL SPACE CAPS TAB F1 .. F12 BS (BackSpace)
      INS HOME PGUP DEL END PGDN
      UP DOWN LEFT RIGHT (arrows keys)
      PRINTSCREEN SCROLL (Scroll Lock) PAUSE
      NUM0 .. NUM9 NUMPOINT GREY+ GREY- GREY* GREY/ GREYENTER
   c) to emulate key down (without key up), place character '<' before
      key code or keyword. To "release" key, simply place character '>'.
      Last downed key will be released. For example, to call menu File
      (Alt + F) use "<ALT <SHIFT f>>".
   d) to emulate mouse events, use following keywords:
   	- LBUTTON - left button event
   	- RBUTTON - right button event
   	- DLBUTTON - left button doubleclick
   	- DRBUTTON - right button doubleclick
   	- MOVE(X,Y) - move cursor to screen point (X,Y)
   	- MOVER(dX,dY) - move cursor at dX,dY offset from current position
   	- MOVEW(x,y) - move cursor at point(x,y) of foreground window
      to down button use same method as for keyboard (charackters '<' and '>').
      For example, to draw "A" in MSPaint, use macros:
      	"MOVEW(100,200)<LBUTTON MOVEW(150,100)MOVEW(200,200)> *+
	MOVEW(125,150)<LBUTTON MOVEW(175,150)>"
   e) default pause from one event to next is 100 milliseconds. To set
      default pause use expression DEFDELAY(XXX), XXX - new value, ms.
      To set one-time pause between commands, use DELAY(XXX), XXX - duration
      of pause. Max values 2^32 (4e9) milliseconds.
   f) additional windows control may be processed using expressions:
      ACT(xxxx) - set window has title contains text "xxxx" as foreground
      SHOW(xxx) - show (restore) window;
      HIDE(xxx) - hide window;
      MIN(xxx) - minimize window;
      MAX(xxx) - maximize window;
      CLOSE(xxx) - send command "Close" to window;
      if use this keywords without brackets, it will be targetted to foreground
      window. If add suffix "ALL" to any of these commands, it will be targetted
      to all windows of this kind.
      WINMOVE(X,Y) - move foreground window to screen point X,Y
      WINMOVER(dX,dY) - move foreground window using offsets dX,dY
      
   following fragment may be used as separated sample schedule to illustrate
   this instruction
	; ===== begin Runner schedule
	[ev]
	~#mspaint
	+3>ie=DEFDELAY(50)ACT(Paint)<CTRL <SHIFT n>>*+
		MAX MOVEW(120,220) <LBUTTON MOVER(0,-100) MOVER(0,50) MOVER(30,0)*+
		MOVER(0,-50)MOVER(0,100)>MOVER(30,0)<LBUTTON *+
		MOVER(0,-80)MOVER(20,0)>MOVER(-5,40)<LBUTTON *+
		MOVER(-15,0)MOVER(0,40)MOVER(20,0)>*+
		MOVER(30,0)<LBUTTON MOVER(0,-80)>*+
		MOVER(30,0)<LBUTTON MOVER(0,80)>*+
		MOVER(-35,0)<LBUTTON MOVER(10,0)>MOVER(20,0)<LBUTTON MOVER(10,0)>*+
		MOVER(30,0)<LBUTTON MOVER(0,-80)MOVER(20,0)MOVER(0,80)MOVER(-20,0)>*+
		<CTRL f>DELAY(3000)CTRL <CTRL <SHIFT n>> CLOSE TAB ENTER
	+15>ex
	; ===== end Runner schedule
