- PowerPro Scripting Reference
- Using this Reference
- Standard syntax used
Abbreviations- PP
- PPCD
- PowerPro Control Dialog
- the GUI interface of the pproconf.exe file, PowerPro's configuration file.
- PPSR
- PowerPro Scripting Reference
- wid
- window ID
- PPSR > Language Reference > Window ID's
- cl
- caption list
- PPSR > Language Reference > Caption Lists for more information
- Capitalisation
- In general, PP ignores case.
- Exceptions
- For clarity & consistency in this Reference, all command & functions are written with first letter capitalised.
- Exception: "cl.xxxx" for CL functions
- Naming
- In the main PP Help, Bruce generally uses the term "Action" for a command method, while many of the plugins use the term "Service" -- I can't decide whether to stick with one of these or use a more generic "Function" or "Method"..?
Consequently, all terms are used at various places throughout the manual. To be refined!
- Getting updates
- Updates will be posted at http://ppsr.miinx.com.au/
- Plugins
- Adding your plugin
- I hope plugin authors don't mind that I've reprinted their info files here. Please let me know if you'd like yours removed.
- English spelling variations
- This is written by an Australian, so most of the text here uses Australian English, except, of course, where functions have US or other spelling.
Exceptions:
- minimize & maximize
- color
- This means there is some inconsistency, which I may address in a later version.
- Incomplete
- This is a work in progress with quite a few holes & lot of inconsistency at the moment, so please mind the mess as the PPSR comes together!
- Language Reference
- Basic Syntax & Usage
- Literal vs. Expression Syntax
- see:
- PowerPro Help CHM > General Syntax Guidelines > Combining expressions, variables, and powerpro commands
- PowerPro Scripts
- Types of Scripts/Script Usage
- Entering Commands directly into the PPCD
- using PPCD's More Commands box
- Command Lists
- Script Files
- .powerpro or .txt
- Default location: <powerpro directory>/scripts
- Calling Scripts
- from another script file or from PPCD
- from same script file
- from within an expression
- Win.Debug(.ScriptFile@Label)
- from outside of PP
- Command Line / Windows Run box
- PPBangTwice
- PP plugin
- use to call a script from command line
- can be run even while PP is not running
- Returning from Nested Scripts
- Quit
- Quit All
- End all running scripts, including calling script
- Case-Sensitivity
- Non-case sensitive
- functions
- variables
- cl Functions
- plugin calls
- Case sensitive
- *Info keywords
- Certain function parameters
- ?"" syntax
- Prevents any escaping of characters in the string.
- The backslash has special significance in strings, but the ?"" syntax prevents any backslashes from being read incorrectly & escaping characters where it isn't intended.
- If your quoted string contains the default string delimiter, a double quote, the ?"" syntax is again handy, as it allows the use of different delimiters for that quoted string.
- Examples
- File.Delete(?"c:\path\to\file.ext")
File.Delete(?#c:\path\to\file.ext#)
File.Delete(?+c:\path\to\file.ext+)
- Each line here is equivalent.
- do(?~win.debug("something")~)
- Outputs "something" to a debug window.
- Path separators
- To separate the sections of a file or folder path, PowerPro allows the use of:
- a single forward slash
- double back slashes
- a single back slash using the ?"" delimiter syntax
- Caption Lists
- Used to specify one or more windows, a caption list is a comma-separated list of Window Id's.
- Example
- "=metapad,*notepad,c=RichTextEdit"
- See Also
- PPSR > Language Reference > Window ID's
- Comments
- Block Comments
- Comments in scripts
- ;
- ;;
- after some code but still on the same line
- Comments in PPCD
the More Commands box seems to require ;; to be used
- Long Line comment
- ;;+
- used within a long script line to break it over multiple lines
- Win.Debug("this is a really " ;;+
++ "long sentence")
- Control Structures
- break
- if, else, elseif, endif
- for
- jump
- quit
- label
- Data Types
- Data Types Supported
- Boolean
- True or False.
- A boolean value can only be:
- 1
- 0
- false, no, "" (empty string)
- Number
- Parameter can be either an integer or a floating point value.
- An number can be any of:
- a positive value, e.g. 24680
- a negative value, e.g. -24680
- a string of valid numbers, e.g. "24680"
- an expression, e.g. 24*680
- String
- All values are actually stored internally as strings.
- Must be surrounded by double quotes; single quotes are not accepted as string delimiters.
- A string can be any of:
- a text string, e.g. "abcdef"
- a variable that stores a text value, e.g. msgOut, where msgOut = "abc123"
- a string expression, e.g. "Today is" ++ formatedate("shortdate",date)
- an integer, as PowerPro stores integers as strings anyway, e.g. 27348 is the same as "27348"
- Pseudo-types
- Mixed
- The parameter may accept multiple types (not necessarily all of them, though).
- Notes
- Note that when reading Syntax expressions in this reference, where a parameter is specified as a particular data type, the parameter may always be an expression that evaluates to a value of that type instead.
- For example, where you see (string), the value could be any of:
- - a text string
- - a number, as PowerPro stores numbers as strings anyway
- e.g. 27348 is the same as "27348"
- - a string expression
- e.g. "Today is" ++ formatedate("shortdate",date)
- - a variable that stores a string value
- e.g. msgOut, where msgOut = "abc123"
- Error Handling
- see info at Exec.OnErrors & _LastError_
- Avoiding Errors
- Underscore after action
- same effect as Exclamation mark error parameter
- Avoids showing the error message if the destination window is not found
- e.g. Window.Min_("=notepad")
- (old) Exclamation mark after action
- Prevents error if no window matches the caption
- Old syntax only; does not work with new syntax.
- e.g. *Window Close! =notepad
- Expressions
- Acceptable Values
- string in double quotation marks
- whole number (+/-)
- variable
- plugin call which returns a value
- call to a script which returns a value
- built-in keyword which returns a value
- built-in Function which returns a value
- another expression
- Escape Sequences
- \"
- \\
- \&
- \n
- \r
- \t
- \xhh
- \d
- These examples assume backslash is used as the escape character.
- Flags
- Description
- PowerPro has 32 flags, n0-n31
- Each flag can be set to 0 (false, off) or 1 (true, on).
- Functions that set/clear flags:
- Input dialogs
- Cancel => pproflag(0) set to 0
- else => pproflag(0) set to 1
- Exec.Prompt
- prompt for a Yes/No answer and set a flag with the result
- e.g. Exec.Prompt(14, "question text")
- Starting PowerPro with Flags Initialised
- PowerPro may be started with specific flags preset.
- "c:\program files\PowerPro\PowerPro.exe" -f6
- Starts PowerPro & sets flag 6 to "1".
- Functions
- Functions in PowerPro
- Built-in Commands
- Built-in Functions
- CL Functions
- Plugin Commands
- Info Labels
- *info expr(sExpr)
- Displays the result of sExpr on a button label.
- Note this cannot be written as: info.expr(sExpr)
- Arguments
- Passing Arguments
- in PPCD
- in script calls
- Omitting an argument
- in a comma-separated list of arguments, a middle argument can be omitted by either:
- cmd.axn(p1,p2,,p4)
- entering nothing in that parameter's place
- cmd.axn(p1,p2,"",p4)
- Retrieving Arguments
- Returning values
- Run/RunFile VS Run./RunFile.
- Quit (expr)
- Jump (expr)
- Script Labels
- Operators
- Operator Precedence
- level 0 - nots
- level 1 - products
- level 2 - sums
- level 3 - comparison operators
- level 4 - and
- level 5 - or
- Mathematical Operators
- *
- /
- %
- +
- -
- ++
- increment
- requires minimum PowerPro version 4.4.12
- Example:
- count++
- equivalent to count=count+1
- --
- decrement
- requires minimum PowerPro version 4.4.12
- Example:
- count--
- equivalent to count=count-1
- Logical Operators
- not
- ~
- ==
- ===
- Identical
- Always compares as string, e.g.:
- !=
- !==
- not identical
- Compare as strings:
- "99" !== "099"
- "99" != "099"
- 99 !== 099
- 99 != 099
- <
- <=
- less than or equal to
- Old Format
- >
- >=
- greater than or equal to
- Old Format
- &&
- ||
- String Operators
- Variables
- Order of Evaluation
- 1. each value
- 2. parentheses
- 3. operators, from L to R
- Predefined Globals
- _Exit_
- Definition
- Set when a PP or plugin command completes execution.
- Used By
- File.RunCallBack
- Event.Message
- _LastError_
- Definition
- When an error occurs, this is set to the error message.
- To clear _LastError_
- _LastError_ = ""
- Exec.OnErrors("clear")
- Notes
- see Error Handling & Exec.OnErrors for more information about errors.
- _PickedLine_
- index of picked file or string in:
- s = pickfile(paths, title)
- s = pickstring(lines, title)
- indices start at 1
- Context
- set to 0 for processing of the first file in a list of files
- should be then set to 1 within script when processing the file
- ContextLast
- set to 0 at start of processing of a list of files
- set to 1 just before command executed on the last file
- Priority
- 1. Priority is local, static , global once declarations are executed. I recommend avoiding local and static with same name.
- 2. You cannot declare static if local already exists.
- 3. The declaration must be executed to take effect. Its not enough that it appear in the file as PowerPro does not do any type of compilation or prescanning. You should declare statics at every entry point or call at initialize entry point to declare them.
- 4. For statics, the same memory is used whenever it is referenced in the script and once the static is declared, it will be used at any entry point. For locals, each time the script is entered at a new entry point, the local must be declared and different memory is used.
- notes from Bruce on PPro list 18/11/04
- Standard Variable Types
- Local
- Known only in the script file/command list that creates them.
- Static
- Known only in the script file/command list that creates them.
- Retain their value after the script exits.
- Global
- Default variable type.
- Accessible from anywhere.
- Other Variables
- Maps & Vectors
- see:
- PPSR > Plugins > Map
- PPSR > Plugins > Vec
- Mouse Position
- @bottom
- @bottomleft
- @bottomright
- @left
- @quadtopleft
- @quadtopright
- @quadbottomleft
- @quadbottomright
- @right
- @top
- @topleft
- @topright
- Undeclared Variables
- if a new variable doesn't exist, it is created as a Global
- Setting declaration preferences
- It is good practice to always declare variables.
- The setting "Variables must be declared" in PPCD > Setup > Advanced >Other, can be changed to toggle variable declaration requirement.
- Window ID's
- To refer to a window, you can use the window's ID, which can be represented in a few different ways.
- Formats
- Class
- Process Id
- Program Exe
- =exename
- +exename
- nodialog
- add as last parameter to exclude program configuration dialogs
- Keyword
- Usage
- Keywords are strings so must be in quotes.
- Possible Values
- active
- The currently active window, also called the foreground window.
- Ignores the Taskbar, or any PP bars or menus. See rawactive for these.
- activebar
- Last window selected via a button from an active windows bar.
- autorun
- Last window matched by autorun command list.
- Use this for commands in autorun command lists.
- explorer
- Match single or dual pane explorer windows.
- explorer1
- Single pane explorer windows.
- explorer2
- Dual-pane explorer windows.
- filedialog
- File open/save/save as windows.
- rawactive
- Always refers to the active window.
- Differs from "active" in that "active" actually refers to the active window before a button or taskbar is pressed, so ignores the fact that the active window is actually the button's bar or the taskbar, etc.
- taskbar
- under
- The window currently under the mouse.
- Example
- Window Caption
- cccc
- cccc*
- *cccc
- cc*cc
- *cccc*
- Window Handle
- Every window is assigned a unique number by the Windows operating system, called the "window handle".
- For methods of retrieving a window's handle, see:
- Win plugin
- PPSR > Plugins > Win > Commands > by Category > Windows > Get Window Information > Handle
- built-in functions
- window
- LastActiveHandle
- LastAutorunHandle
- Getting a Window's ID
- Some information is clearly visible:
- caption
- (if it has one) is what appears in the window's titlebar
- program exe
- PowerPro has various commands available:
- Exec.WindowInfo
- PPSR > Built-in Commands > Exec > Functions by category > Window > WindowInfo
- built-in functions
- window
- LastActiveHandle
- LastAutorunHandle
- various commands in the Win plugin
- PPSR > Plugins > Win > Commands > by Category > Windows > Get Window Information
Built-in Commands 
Built-in Functions 
CL Functions 
- Plug-ins

- Miscellaneous
- Hooks
- What are they?
- hooks into stuff the Windows operating system does
- Setting up hook scripts
- Types of Hooks
- HookWindowsEvents
- HookSystemEvents
- Called with a single argument after certain system events:
.FileHookSystem(arg(1))
- arg(1) - possible values:
- 1
- 2
- Power resumed after suspension.
- 10
- Display resolution changed
- HookCommandLine
- HookErrors
- Turning them off
- Possible reasons for wanting to turn them off...?
- How to
- Turn them off by putting 15 in setup|advanced|other|hook code
- WARNING
- Turning global hooks off will break many PowerPro features
- Info Labels
- context for *Info
- Name field of item
- Tooltip
- keywords
- time & date
- offset
- shortdate
- longdate
- d, dd, ddd, dddd
- M, MM, MMM, MMMM
- yy, yyyy
- w, ww
- daynum
- time
- h, hh, H, HH
- m, mm
- s, ss
- t, tt
- resources
- gdi
- user
- pkmem
- pmem
- ppmem
- vkmem
- vmem
- cpu
- swap
- swapinuse
- pswapinuse
- dunin
- dunout
- dunrate
- battery
- allbattery
- percent remaining
- charging status
- AC/DC status
- other
- cdcurtrack
- cdlasttrack
- clip
- defaultprinter
- deskname
- desknum
- disk
- expr(expression)
- keylog
- keylogfile
- subbarname
- timer
- timerdays
- timersec
- uptime
- uptimedays
- uptimedhm
- uptimedhms
- uptimesec
- Notes on Info Labels
- only update once per second
- to force update, try:
Bar.Format("Bar_Name","Refresh")
- Skins
- Skin Files
- Skin Commands
- Sections & Subbars for Skins
- Filetype associations
- between extension .ppronote and powerpro.exe
- From a command prompt, enter the following:
C:\> assoc .ppronote
.ppronote=PowerPro.Note
C:\> ftype powerpro.note
powerpro.note=C:\PROGRA~1\PowerPro\PowerPro.exe *Note Open File "%1"
[from "Re: Notes Problem" sgp's msg to PowerPro List 9/3/05]
- Dropping Files on a Button
- Buttons can be clicked, hovered over (which initiates an automatic click), or have files dropped onto them.
- To create a button which determines the correct action before processing, use the following script for the button's action:
- .myscript (?*|*)
where script "myscript" contains:
args files
if (length(files)==1) do
;; stuff for button press
else
;; stuff for files dropped on button
endif
- Note: there is a limit of about 500 characters for the total length of all dropped files plus all the commands (include those in more commands).
- Script Writing Tips
- PowerPro always searches script files sequentially for @ labels, therefore to minimise overhead, put the most common call first.
- Other PowerPro Help
- HTML Help for PowerPro
- the main PowerPro Help manual
- installed with PowerPro into PowerPro directory
- PowerPro Scripting Tutorial
- Alexander Cicovic's excellent tutorial giving an introduction to scripting in PowerPro.
- installed with PowerPro into PowerPro directory
- Online Help
- PowerPro Home Page
- Repository of PowerPro manuals, plugins, tutorials & more
- http://powerpro.pcrei.com/
- maintained by David Treosch
- PowerPro Scripts for Total Commander
- http://ppro.totalcmd.net/
- Online version of this PPSR
- Mailing Lists
- Yahoo Mailing List
- http://groups.yahoo.com/group/powerpro/
- Gmane copy of the Yahoo list
- http://news.gmane.org/gmane.comp.windows.power%2dpro
- more powerful search capabilities
- Credits
- Bruce Switzer
- The creator & developer, Bruce writes & maintains PowerPro for a hobby.
- Additionally, Bruce also devotes much time to the PowerPro lists, assisting others in their learning, answering general and specific questions about PowerPro and Windows, debugging problems, and fielding & implementing feature suggestions and improvements.
- PP Discussion List
- The PP mailing lists have been around for a lot longer than I've been using PowerPro, and many others would have participated than I am aware of. I am ever grateful to anyone who shares their PP knowledge and helps us all benefit from this truly amazing program.
- Bruce Switzer
- Alan Campbell
- Alan Martin
- Alex Peters
- bizaro
- Cüneyt
- David Treosch
- Mockey
- Sean
- sgp
- & so many more...
- Appendix
- Menu.Folder() Formatting Keywords
- Keywords, Detailed List in AlphaOrder
- *all
- Execute all commands/programs in folderPath, rather than displaying a menu.
- *allclose
- Close all commands/programs in folderPath, rather than displaying a menu.
- *allcloseforce
- Force closed all commands/programs in folderPath, rather than displaying a menu.
- autocol n
- Automatically starts a new column every n+1 entries.
- Applies to top level menu only.
- autocolall n
- Automatically starts a new column every n+1 entries.
- Applies to top level menu & submenus.
- autosoftcol n
- Automatically starts a new column every n+1 entries, without including a bar between the columns.
- Applies to top level menu only.
- autosoftcolall n
- Automatically starts a new column every n+1 entries, without including a bar between the columns.
- Applies to top level menu and submenus.
- back
- Bar or menu takes the default background defined in PPCD > Command Lists > Setup.
- center
- cmd 'cmdline' 'params'
- Defines a command line & parameters to be executed with the selected file, where:
- 'cmdline'
- command to be executed, in single quotes
- 'params'
- parameters for 'cmdline', in single quotes
- Use the _file_ variable or a "|" to indicate where the selected file is to be placed in the command line.
- The command line & parameter strings that appear after the "cmd" keyword can optionally be enclosed in nested single quotes, unless the strings contain spaces, in which case single quotes must be used.
- Example
- Menu.Folder("desktop", "cmd 'c:\program files\2x\2xExplorer' '|*'")
- empty
- Empty folders will be included in the menu (normally, they are excluded).
- exclude \"folders_list\"
- Excludes all folders listed in folders_list, a comma-separated list of folders.
- Examples
- Menu.Folder(?"c:\temp", "exclude \"c:\\temp\\store, c:\\temp\\logs\"")
- Shows a menu of the "c:\temp" directory, excluding the "store" and "logs" folders.
- Menu.Folder(?"c:\temp", ?#exclude "c:\temp\store, c:\temp\logs"#)
- Shows a menu of the "c:\temp" directory, excluding the "store" and "logs" folders.
- Doesn't work with other exclusion-type keywords:
- nofiles
- nofolders
- nosubdir
- nosubmenu
- explorer
- Adds a menu entry with label "Explore" at the top of all submenus, a shortcut to open a single-paned Explorer window.
- The entry can be:
- left-clicked
- to open a single-paned Explorer window on the selected directory
- right-clicked
- to show a Menu.Folder() menu for that folder, useful if files are not being displayed in the current menu.
Am getting an error when right-clicking explorer entry:
Cannot access context menu for:
c:\docs & settings\username\start menu\programs\
Error occurred near line 1 which contained:
Menu.Folder("programs", "explorer fileman \"open in explorer\" ")
- explorer2
- Adds a menu entry with label "Explore" at the top of all submenus, a shortcut to open a double-paned Explorer window.
- The entry can be:
- left-clicked
- to open a double-paned Explorer window at the selected directory
- right-clicked
- to show a Menu.Folder() menu for that folder, useful if files are not being displayed in the current menu.
- fileman \"lbl\"
- Where lbl = label for the optional top item of submenus, created when the "explorer" keyword is included.
- The "explorer" keyword must also be included in sFormat whenever "fileman" is used.
- Example
- Menu.Folder("programs", "explorer fileman \"Open in Explorer...\" ")
- folderback
- Adds a "Back" entry to the top of the menu, to go back to previous folder.
- Only useful when NoSubDir is specified.
- folderdots
- Adds "..." to folder names.
- Useful to highlight folders when NoSubDir is specified & icons are not used in menus.
- foldershorcut
- Expands all folder shortcuts in the menu.
- foldershorcuts2
- Expands foldershortcuts with names ending in "_x".
- folderstart
- Sorts menu entries so that folders are at the start.
- noicons
- Omits menu icons.
- Only works if the Menu.Folder() command is not embedded in another menu.
- maxtext n
- Limits text labels to n characters.
- mne
- Powerpro assigns single character menu mnemonics to the first 36 items on the main menu, allowing them to be easily selected with the keyboard.
- noext
- File extensions are removed from menu item labels.
- nofiles
- Files are not displayed, only folders.
- Useful with the "explorer" option to traverse large folder trees quickly.
- nofolders
- nosort
- Menu items will not be sorted.
- nosubdir
- Dynamic subdirectories (that appear when the parent items are moused over) are not included.
- The names of subdirectories are still shown, & if selected, a Menu.Folder() is shown for that subdirectory.
- Doesn't work with "exclude" keyword.
- nosubmenu
- All files from all subdirectories will be listed in the main menu.
- No folders are shown.
- offset n1 n2
- Positions the menu offset n1 characters to the right, & n2 characters below the mouse cursor.
- n1 & n2 can be negative.
- omit
- Deletes the phrases in the "Omit strings..." edit box on the PProConf > Command Lists > Setup > All Bars and Menus > Config tab.
- "omit" is applied before "maxtext n", if both are specified.
- sortext
- Menu items are sort by file extension.
- sorttime
- Sorts most recently change files to the start of the menu.
- tipall
- Shows up to 6 lines of the file contents in the tool tip.
- Some file types (text-based, such as .txt, .html, .ini) work better than others (such as .exe) with this keyword.
- tiptext
- Shows up to 6 lines of .txt file contents on tool tip.
- tool tips
- Shows tool tips, regardless of PProConf setting on Tool Tip Setup dialog.
- under
- Centers the menu under the mouse.
- Zero \"vars_list\"
- vars_list = space-separated list of variables to be set to 0 before the files are processed.
- Keywords List by Category
- Execution
- *all
- *allclose
- *allcloseforce
- cmd 'cmdline' 'params'
- Explorer
- explorer
- explorer2
- fileman \"lbl\"
- Menu Position
- center
- embed
- offset n1 n2
- under
- Subfolders & File Inclusion
- empty
- exclude \"folders_list\"
- folderback
- folderdots
- foldershorcut
- foldershorcuts2
- folderstart
- n
- nofolders
- nosubdir
- nosubmenu
- File Extensions
- Files can be included &/or excluded by listing them, with a "-" char in front of those to be excluded.
- Menu Formatting
- autocol n
- autocolall n
- autosoftcol n
- autosoftcolall n
- nofiles
- noicons
- nosort
- sortext
- sorttime
- Text Labels
- back
- maxtext n
- mne
- noext
- omit
- Tool Tips
- Initialise Variables
- Win.Keys() & Win.SendKeys() Keycodes
- Overview
- Any combination of alphanumeric characters & PowerPro key codes, as specified below, may be passed as keys to Win.Keys() and Win.SendKeys().
- Key codes can take any of 3 formats, where each variation is equivalent:
- long
- shorter 2-char form
- symbol form
- Key Codes: by Category
- Ascii Characters
- {nnn}
- {alt}{pad0}{pad1}{pad8}{pad1}{alt}
- To enter ascii characters in this way, some systems may require:
- "Use fast send keys" to be unchecked in PProConf > Setup > Advanced > Other
- the sequence to be preceded with {slow}
- Date & Time
- {dateshort}
- {datelong}
- {nextshort}
- {prevshort}
- {ps}
short form not working
- {time}
- {ti}
removing the seconds
- Keyboard
- sorted by shortcut
- {ad}
- {al}
- {ap}
- {ar}
- {au}
- {ba}
- {br}
- {{}
- {brace}
- open curly bracket
- close curly bracket can be written directly
- {ca}
- {cl}
- {capslock}
- requires {slow}
- {de}
- {ed}
- {en}
- {es}
- {f1}...{f12}
- {gt}
- {ho}
- {in}
- {lt}
- {pd}
- {pe}
- {pl}
- {pu}
- {printscreen}
- added in 4.2.07
- no shortcut form
- {qn}
- {qu}
- {sl}
- {scrolllock}
- requires {slow}
- {sp}
- {ta}
- sorted by full name
- {apps}
- {back}
- {brace}
- {br}
- {{}
- open curly bracket
- close curly bracket can be written directly
- {capslock}
- {caret}
- {del}
- {down}
- {esc}
- {end}
- {enter}
- {f1}...{f12}
- {home}
- {ins}
- {greater}
- {left}
- {less}
- {pgdn}
- {pgup}
- {percent}
- {plus}
- {printscreen}
- added in 4.2.07
- no short form
- {question}
- {quote}
- return -- see enter
- {right}
- {scrolllock}
- {space}
- {tab}
- {up}
- Keypad
- {pad0} ... {pad9}
- {pad+}
- {pad-}
- {pad*}
- {pad/}
- Non-keyboard Keys
- {fast}
- {slow}
- {var} {sv}
- {w1}...{w9}
- Inserts a wait of length 0.1-0.9 seconds
- Obsolete
- Prefix Modifiers
- Sticky Modifiers
- Sending multiples of a key
- Ensuring a modifier key is up
- Alt:
- KeyTrap.SendKeys(56, 164, 1)
- Control:
- KeyTrap.SendKeys(29, 162, 1)
- Shift:
- KeyTrap.SendKeys(42, 160, 1)
- Win:
- KeyTrap.SendKeys(91, 91, 1)
- For more information about KeyTrap.SendKeys(), see:
- PPSR > Plugins > The Plugins > KeyTrap > SendKeys
- Windows API Message Codes QuickRef
- Alpha-order
- WM_A - WM_C
- WM_APP
- WM_ACTIVATE
- WM_ACTIVATEAPP
- WM_AFXFIRST
- WM_AFXLAST
- WM_ASKCBFORMATNAME
- WM_CANCELJOURNAL
- WM_CANCELMODE
- WM_CAPTURECHANGED
- WM_CHANGECBCHAIN
- WM_CHAR
- WM_CHARTOITEM
- WM_CHILDACTIVATE
- WM_CLEAR
- WM_CLOSE
- WM_COMMAND
- WM_COMMNOTIFY (obsolete)
- WM_COMPACTING
- WM_COMPAREITEM
- WM_CONTEXTMENU
- WM_COPY
- WM_COPYDATA
- WM_CREATE
- WM_CTLCOLORBTN
- WM_CTLCOLORDLG
- WM_CTLCOLOREDIT
- WM_CTLCOLORLISTBOX
- WM_CTLCOLORMSGBOX
- WM_CTLCOLORSCROLLBAR
- WM_CTLCOLORSTATIC
- WM_CUT
- WM_D - WM_I
- WM_DEADCHAR
- WM_DELETEITEM
- WM_DESTROY
- WM_DESTROYCLIPBOARD
- WM_DEVICECHANGE
- WM_DEVMODECHANGE
- WM_DISPLAYCHANGE
- WM_DRAWCLIPBOARD
- WM_DRAWITEM
- WM_DROPFILES
- WM_ENABLE
- WM_ENDSESSION
- WM_ENTERIDLE
- WM_ENTERMENULOOP
- WM_ENTERSIZEMOVE
- WM_ERASEBKGND
- WM_EXITMENULOOP
- WM_EXITSIZEMOVE
- WM_FONTCHANGE
- WM_GETDLGCODE
- WM_GETFONT
- WM_GETHOTKEY
- WM_GETICON
- WM_GETMINMAXINFO
- WM_GETTEXT
- WM_GETTEXTLENGTH
- WM_HANDHELDFIRST
- WM_HANDHELDLAST
- WM_HELP
- WM_HOTKEY
- WM_HSCROLL
- WM_HSCROLLCLIPBOARD
- WM_ICONERASEBKGND
- WM_INITDIALOG
- WM_INITMENU
- WM_INITMENUPOPUP
- WM_INPUTLANGCHANGE
- WM_INPUTLANGCHANGEREQUEST
- WM_K - WM_M
- WM_KEYDOWN
- WM_KEYFIRST
- WM_KEYLAST
- WM_KEYUP
- WM_KILLFOCUS
- WM_LBUTTONDOWN
- WM_LBUTTONUP
- WM_LBUTTONDBLCLK
- WM_MBUTTONDOWN
- WM_MBUTTONUP
- WM_MBUTTONDBLCLK
- WM_MDIACTIVATE
- WM_MDICASCADE
- WM_MDICREATE
- WM_MDIDESTROY
- WM_MDIGETACTIVE
- WM_MDIICONARRANGE
- WM_MDIMAXIMIZE
- WM_MDINEXT
- WM_MDIREFRESHMENU
- WM_MDIRESTORE
- WM_MDISETMENU
- WM_MDITILE
- WM_MEASUREITEM
- WM_MENUCHAR
- WM_MENUSELECT
- WM_MOUSEACTIVATE
- WM_MOUSEFIRST
- WM_MOUSEHOVER
- WM_MOUSELAST
- WM_MOUSELEAVE
- WM_MOUSEMOVE
- WM_MOUSEWHEEL
- WM_MOVE
- WM_MOVING
- WM_N - WM_Q
- WM_NCACTIVATE
- WM_NCCALCSIZE
- WM_NCCREATE
- WM_NCDESTROY
- WM_NCHITTEST
- WM_NCLBUTTONDBLCLK
- WM_NCLBUTTONDOWN
- WM_NCLBUTTONUP
- WM_NCMBUTTONDBLCLK
- WM_NCMBUTTONDOWN
- WM_NCMBUTTONUP
- WM_NCMOUSEMOVE
- WM_NCPAINT
- WM_NCRBUTTONDBLCLK
- WM_NCRBUTTONDOWN
- WM_NCRBUTTONUP
- WM_NEXTDLGCTL
- WM_NEXTMENU
- WM_NOTIFY
- WM_NOTIFYFORMAT
- WM_NULL
- WM_PAINT
- WM_PAINTCLIPBOARD
- WM_PAINTICON
- WM_PALETTECHANGED
- WM_PALETTEISCHANGING
- WM_PARENTNOTIFY
- WM_PASTE
- WM_PENWINFIRST
- WM_PENWINLAST
- WM_POWER
- WM_POWERBROADCAST
- WM_PRINT
- WM_PRINTCLIENT
- WM_QUERYDRAGICON
- WM_QUERYENDSESSION
- WM_QUERYNEWPALETTE
- WM_QUERYOPEN
- WM_QUEUESYNC
- WM_QUIT
- WM_NEXTMENU
- WM_R - WM_W
- WM_RBUTTONDBLCLK
- WM_RBUTTONDOWN
- WM_RBUTTONUP
- WM_RENDERALLFORMATS
- WM_RENDERFORMAT
- WM_SETCURSOR
- WM_SETFOCUS
- WM_SETFONT
- WM_SETHOTKEY
- WM_SETICON
- WM_SETREDRAW
- WM_SETTEXT
- WM_SETTINGCHANGE
- WM_SHOWWINDOW
- WM_SIZE
- WM_SIZECLIPBOARD
- WM_SIZING
- WM_SPOOLERSTATUS
- WM_STYLECHANGED
- WM_STYLECHANGING
- WM_SYNCPAINT
- WM_SYSCHAR
- WM_SYSCOLORCHANGE
- WM_SYSCOMMAND
- WM_SYSDEADCHAR
- WM_SYSKEYDOWN
- WM_SYSKEYUP
- WM_TCARD
- WM_TIMECHANGE
- WM_TIMER
- WM_UNDO
- WM_USER
- WM_USERCHANGED
- WM_VKEYTOITEM
- WM_VSCROLL
- WM_VSCROLLCLIPBOARD
- WM_WINDOWPOSCHANGED
- WM_WINDOWPOSCHANGING
- WM_WININICHANGE
- Num-order
- 0x...
- 0-99
- 1
- 2
- 3
- 5
- 6
- 7
- 8
- 10
- 13
- 14
- 15
- 11
- 12
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 24
- 26
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 38
- 39
- 40
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 55
- 57
- 65
- 68
- 70
- 71
- 72
- 74
- 75
- 78
- 80
- WM_INPUTLANGCHANGEREQUEST
- 81
- 82
- 83
- 84
- 85
- 85
- 100-199
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 200-299
- 256
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 287
- 288
- 289
- 300-399
- 400-499
- 500-599
- 512
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 522
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 536
- 537
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 560
- 561
- 562
- 563
- 564
- 600-699
- 700-799
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 791
- 792
- 800-899
- 900+