STDM14
DEMO 

所属分类:其他小程序
开发工具:C/C++
文件大小:44KB
下载次数:2
上传日期:2008-03-12 21:47:34
上 传 者dishikun
说明:  WINDOWS DEMO 程序制作工具
(WINDOWS DEMO process authoring tools)

文件列表:
STDM14 (0, 2004-09-06)
STDM14\FILE_ID.DIZ (392, 1980-01-01)
STDM14\HIST.TXT (3240, 1993-09-14)
STDM14\SCRIPT.TXT (9350, 1993-09-14)
STDM14\STDEMO.DIZ (424, 1993-09-14)
STDM14\STDEMO.EXE (58448, 1993-09-14)
STDM14\STHOOK.DLL (4192, 1993-09-14)

Stdemo Player 1.4 Copyright (c) 1992,1993 Mik Kvitchko ----------------------------- | Mikhail Kvitchko | | 361-A Crowells Road, | | Highland Park, NJ 08904 | | USA | | mik@bhsw.com | ----------------------------- This package consists of the following files: HIST.TXT - History of changes README.TXT - This File SCRIPT.TXT - Stdemo Player example script STDEMO.DIZ - Stdemo Player short description. STDEMO.EXE - Stdemo Player program STHOOK.DLL - Stdemo Player DLL What is this? ============= Stdemo Player is the multy-purpose application. First of all, you can use it to create demos and tutorials. It allows you to write a script, which will start one or several Windows application and perform a series of keystrokes or mouse actions aimed to demonstrate these applications. While your script is being "played", you can disable completely keyboard and mouse, so that user will not be able to interfere with the running demo and to cause a conflict. At certain points of you script you may interrupt it in order to interact with user. These interactions allow: - to show the "text" box with some explanatory text before script will continue ( this is the main idea of how demos and tutorials are to be designed); - to show the "menu" box where user can select one of several choices, and therefore control the script's execution; - to show the "input" box, where user can answer questions and enter some text, which later can be used in script. There are many varieties of these boxes in order to make your demo flexible, and they can be forced to be shown in some convenient places on the screen. Moreover, user can move them across the screen to be able to see different parts of the covered windows. Stdemo Player allows you even to play WAV files in order to make your tutorial better. Even if you are not interested in preparing demos, you may find Stdemo Player useful. For example, you can replace your complete Startup Group with the single Stdemo Player script which will launch all your "startup" applications, and even perform some initial actions for every of them: set up default options, load files, etc. Another feature allows you to automate your everyday chores (like backup, etc. ) by using the sheduling abilities of Stdemo Player script language. How to play the script? ====================== When you run stdemo.exe without parameters, it looks for the file "script.txt" in the current working directory, and if it is there - "plays" it. Also you may pass the name of the script as a parameter to stdemo.exe. This name may include the full path. How to write a script? ====================== Script is a plain ASCII text file. It may include: - keystrokes; - commands; - interaction breaks; - comments. Every keystroke, command or interaction break is a unit. Stdemo Player reads units from the script one by one and executes them. After one unit is executed, Stdemo Player waits for some time (time-out tick, which can be set or changed at any point in the script) and then executes the next unit. Time-out doesn't affect the interaction breaks (which are "text", "menu" and "input" dialog boxes). Once one of this boxes is shown - only user may continue or stop script execution, selecting "Continue" or "Stop" button on the box. ( See below how to program "auto-continue" for interaction breaks.) Comments are ignored, as you may expect, and cause no time-out delays. 1. Keystrokes. -------------- Any text in the script which is not a command, interaction break or comment is a set of keystrokes, i.e. every symbol of the text causes a keystroke to be sent into the current window application (see below). There are also several special symbols which allow to simulate different keyboard keys. Any keystroke can be preceded by one or more special symbols ("@" - Alt, "#" - Shift or/and "%" - Control) as you see in the following example: @A Alt-A #A Shift-A %A Ctrl-A #%A Shift-Ctrl-A There are also many special keys which are coded by "escaping" them with the "]". They are follows: ]| Down ]^ Up ]< Left ]> Right ]~ Tab ]! Return ]- PgUp ]+ PgDn ]\ Backspace ]Z Esc ]I Ins ]D Del ]H Home ]E End ]0 F10 ]1 F1 ........... ]9 F9 ]] ] ]@ @ ]% % ]# # ]: : ]$ $ This is not a full set of the keyboard keys, as you may note - but it covers most of usable ones (I hope). 2. Commands. ------------ All commands start from the colon sign ":". Some of the commands must be coded as a separate line in a script, others can be mixed with the keystrokes. The rule of a thumb is: if a command has fixed format or ends with the special separator - it can be placed anywhere, otherwise it has to be coded as a separate line of the script. The general format of a command is: : is a single letter or some other symbol; may vary; one parameter can be a letter, text or number; parameters follow the code without blank, and in some cases are separated one from another by the special separator "|". The commands are: :=x set time-out tick to x milliseconds. Default time-out is 1 millisecond. Example: :=1000 set time-out tick to 1 sec. :T skip 1 time-out tick. Example: abc:T:T:Tefg enter "abc", then wait for three current time-out ticks, then enter "efg". :Wx delay script execution for x seconds :Dtext change current directory to "text". Example: :Dc:\windows\system :(program_name parm|x launch the application; program name must include extension (for the security reason) and may include the full path; parameters to the program can be passed, if needed (not required); flag x may be coded as one digit 0..2 after the separator and affects the size of the application window: 0 (default), 1(maximize), 2(minimize). Note: By deafult, Stdemo checks if the application created active window, and if not - assumes that something went wrong. This might create problems if the application you are going to start doesn't create window at all, or create hidden window. See :c command below which disables this check. Examples: :(notepad.exe :(c:\windows\write.exe demo.wri :(notepad.exe c:\stdemo\readme.txt|2 :cX enable/disable check on active window after the :( command; parameter "X" must be coded as one digit: 0 - disable check, 1 - enable check. : play the WAV file :Alabel|m|h|w|d|t command allows to create "cron"-like scheduling of script execution. It triggers "goto label" operation if parameters match current date and time. Parameter are treated as: m - minutes (0 - 59), h - hours (0 - 23), w - day of week (1-7), d - day of a month (1-31), t - month (1-12). All parameters also can be coded as * ( any). If parameters do not match current day/time - the next command in a script will be executed. Example: :AReminder|30|9|*|9|8 goto label "Reminder" if today is August 9, 9:30am :ADump|00|22|*|*|* goto label "Dump" on any day 10:00pm :ASave|00|*|*|*|* goto label "Save" every 10 minutes :ASave|10|*|*|*|* :ASave|20|*|*|*|* :ASave|30|*|*|*|* :ASave|40|*|*|*|* :ASave|50|*|*|*|* Note: 1. Once :A command is executed - StDemo forgets about it. There is no internal loop in StDemo in order to check if current date/time matches some :A commands. It means that you have to provide your own loop inside a script if you are going to check this conditions repeatedly. 2. Be careful when after the successful execution of :A command you switch control back to the loop: if the same :A command will be executed again and conditions will match again - it might execute your code again several times (when you expect it to be run only once). Example: // main loop :Start :=1000 :ASave|00|*|*|*|* :GStart // // subroutine to execute "Save" :LSave (1) ................. :GStart (2) If you mean this script to execute "Save" once every hour - your results will depend on how long will it take to execute "save" subroutine. If it takes less than minute - next time :A will be executed it might branch to :LSave again. You may solve this problem by applying proper timing (use :=, :T, :U or :W commands) but the best solution is to use :~ command with the same date/time pattern which initiated your scheduled subroutine (look below). :Um|h|w|d|t command simplifies scheduling in some simple cases, it accepts the same parameters as :A command (except of label) and simply waits till current date/time will match given parameters. Be careful, do not program infinite (or almost) loops. :~m|h|w|d|t command has the same parameters as :U command and allows you to wait till current date/time will NOT match given parameters. The best use of this command is at the end of the scheduled subroutine (see :A above). Example: :C11 :I11 :=1000 // Main loop :Start :=1000 :ABackup|0|4|*|*|* :ACloseBackup|0|7|*|*|* :ASendFax|30|16|*|*|* :ACloseFax|50|16|*|*|* // In case we want to terminate Stdemo Player at this time :ATerminate|00|18|*|*|* :GStart // Backup subroutine :LBackup :DC:\backup :(backup.exe //.......... // send proper keystrokes to initiate backup //.......... :~0|4|*|*|* :GStart // Send fax subroutine :LSendFax :DC:\winword :(winword.exe report.doc //.......... // send proper keystrokes to initiate fax //.......... :~30|16|*|*|* :GStart :LCloseBackup :
近期下载者

相关文件


收藏者