注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

chunwaihome 的博客

 
 
 

日志

 
 

Keys Command  

2009-09-14 11:45:52|  分类: PowerPro |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

您可以利用Powerpro的*key命令傳送一些文字到其他的窗口中,或者用模擬按鍵的方式去開啟窗口的菜單,例如在notepad裏按alt-fn代表開啟一個新的檔案,f表示打開以F作開首的菜單,而n表示菜單項目的名稱。

 the keystrokes

當您用PProconf.exe窗口設定keys命令時,你可以直接在參數中輸入按鍵,或者按"find"按鈕選取你所需的鍵。如圖:

Keys Command - Y偉 - chunwaihome 的博客

當你需要用*keys傳送一些鍵盘上獨有的鍵(special Characters)Function KeysDate/time,你需要用"{方括號}"括著它們,例如{f1}、{enter}、{back3}。

在一般模擬的ALT菜單的操作時,我們習慣用" %代替Alt "、" ^代替Ctrl "、" + 代替Shift " ,例如用" %fn "傳送" Alt-fn "命令到窗口中,它相等於您按下File|New Menu

Notes:for most reliable operation, use ^ or + or % rather than {ctrl} or {shift} or {alt}.


Beware of these characters which could have a special meaning for Powerpro:

% use {pe}  or  {%} (% alone signals Alt)
^ use {ca}  or  {^} (^ alone signals Ctrl)
+ use {pl}  or  {+} (+ alone signals Shift)

If the keystrokes start with a double quote, then that double quote and any ending quote are removed. So to send keys start with a double quote, add a quote to the start.

 the target window

在一般的情況下,*keys只會傳送按鍵到激活窗口 Foreground(active) window中。但你可以在Keys命令前加上{toxxx}或者{toany xxx}.表示首先激活"xxx"窗口,然後才傳送keys到該窗口中。而兩者的分別是{toany xxx}可以傳送*keys到可見或隱藏的窗口 (hidden window) ,而{toxxx}只可以傳送*keys給可見的窗口(visible Windows)

XXX表示指出目標窗口(Target Window) ,可以是以下任何一個:

命令  註解
 {to =File Path}  sends keys to program run from that "File Path"
e.g. {to =notepad} or {to "=notepad"}
 {to PartTitle*}   to window with caption starting with "Part Title"
 {to *PartTitle}   to window with caption ending with "Part Title"
 {to *PartTitle*}  to window with caption containing "Part Title"
 {to autorun}   to last window matched by autorun command list
 {to activebar}   to last window referenced by an Active bar button
 {to *}   sends keys to the current active window
 {to none}  does not check if window is available

除了{to none},如果{to xxx}不能找到xxx的窗口,powerpro有可能會顯示錯誤訊息,為了解決此問題,你可以在XXX之前加上" ^ " 符號,例如

keys {to ^*notepad}abc

該命令避免產生錯誤訊息當不能找到 "記事本" 窗口的時候

 timing 1

如果你用keys命令打開新的窗口或菜單,跟著做進一步的操作。在這期間,你需要插入Wait 命令等待新窗口或菜單的出現,插入{ w1}表示等待十分之一的秒意思。

因為windows系統是一個multitasking的系統,表示它能夠同時開啟多個程序,因此在傳送keys命令到這些窗口中要特別留意。例如我們執行"c:\windows\notepad.exe"命令打開"記事本",然後用Keys模擬alt-g n的操作,此時我們需要插入wait命令等待"記事本"窗口的出現:

Command:                      c:\windows\notepad.exe
More Commmands:       *wait ready
                                         *keys "%gn"

 *Wait Ready 命令使Powerpro等待直至"記事本"窗口準備接受我們的命令。如果*Wait Ready不能生效的話,用*Wait 2(可以是其他的數字)代替,它表示等待2秒的意思。你可以用在用{ to +xxx } 命令等待標題以xxx窗口的出現,{ to +xxx } 命令默認是等符三秒的意思*Wait 3。例如

Command                   *Explorer
More Commands        *keys { to+Exploring*}"%vd"

表示打開" 檔案總管 "然後等待3秒的時間讓標題以" Exploring " 窗口的出現,最後就是傳送Alt-v-d的鍵到該窗口。當你用{toxxx}傳送命令給窗口時,而該窗口不存在的話, pp將出彈一錯誤訊息。如想避免這錯誤訊息出現的話,可以在to後加上^ 符號。

例如keys {to ^*notepad}abc,需要留意的是Keys和{to ^*notepad}要留一個空格。

timing 2

Powerpro提供了三種方法來傳送*Keys, fast" method (journal hooks)、"slow" method (keybd_input) 、sendinput method , 在默認的情況下, powerpro是用slow method 去傳送key的。

你可以在Setup >Advanced >Other 改用fast Method的傳送方式。如圖

PowerPro的Key命令 - Y偉 - chunwaihome 的博客

 

默認的Slow Method能夠傳送大部分的*Keys,而Fast Method只在特殊情況下使用。

如果您選了Slow Mehod傳式方式,你也可以暫時用Fast Mehod作代替,方法是在keys後面加上{fast},例如

*Keys {fast}{home}+{end}

 sendinput method

SendInput Method的運作和Slow Method很相似,但是它能夠同一時間傳送" 一連串Keys ",而不是像Slow Method那樣以one-by-one作傳送,而使用的方法是在keys前面加上{sinp}

 keystrokes from a file

有時候如果你需要傳送大量文字時,你可以用

*keys {from c:\path\items.txt}

命令傳送items.txt內容到窗口中。在item.txt內容裏,你也可以用 ** 作註解。例如

Example:

**One line comment**

Example:

**

Multi-line

Comment

**

 keystrokes from a menu

你亦可以用

*keys {filemenu c:\path\items.txt}               ;c:\path\items.txt文字檔案儲存著Keys命令

命令選取你所需的*Keys

註:*keys 和 {filemenu c:\path\items.txt}中間需要留一個"空白鍵"

Favorite Folder

 你亦可以用建立一Command List,內容是

*keys {fo folder} c:\path

命令,它會傳送C:\path 路徑到open/save dialog 窗口。

 

SHIFT 與 {SHIFT} 的分別

有時候一個鍵用{ 方括號} 括住和不用{方括號 }括住代表著不同的意思,例如你用{}鍵前後括著字符的話代表按下和放開的意思。

例如 *Keys a{shift}bcde{shift}f ,結果為aBCDEf

頭一個{shift}代表按下shift鍵,尾的{shift}代表放開shift鍵。

如果不括{}的話

例如*keys +abcd 結果為Abcd

而^代表Ctrl,%代表Alt,+代表Shift(需要留意的它們是不需{}括住的)

 Code  註解
 {+}  {plus}  {pl}   加號
 {%}  {percent}  {pe}   %
 {^}  {caret}  {ca}   
^
 {{}  {brace}  {br}   
 {
 {up}  {au}   
 Up arrow
 {down}  {ad}   
 Down arrow
 {left}  {al}   
 Left arrow
 {right}  {ar}   
 Right arrow
 {enter}  {en}   
 Enter
 {space}  {sp}   
 Space
 {quote}  {qu}   
 "
 {question}  {qn}   
問號
 {greater}  {gt}   
 >
 {less}  {lt}   
 <
 {tab}  {ta}   
 Tab Character
 {printscreen} {ps}  print screen key
 {ins}  {in}   
 Insert
 {del}  {de}   
 Delete
 {back}  {ba}   
 Backspace
 {home}  {ho}   
 Home
 {end}  {ed}   
 End
 {pgup}  {pu}   
 Page Up
 {pgdn}  {pd}   
 Page Down
 {esc}  {es}   
 Escape
 {pad+}  {p+}   
 Numeric Pad +
 {pad-}  {p-}   
 Numeric Pad -
 {pad*}  {p*}   
 Numeric Pad *
 {pad/}  {p/}   
 Numeric Pad /
 {pad0}  {p0}   
 Numeric Pad 0-9
 {scrolllock} {sl}   
 Scroll Lock
 {capslock} {cl}   
 Caps lock
 {apps} {ap}   
 Send the Apps key, as pressed down then up
 {dateshort}  {ds}   
 date in Windows short format
 {datelong}  {dl}   
 date in Windows long format
 {prevshort}  {xs}   
 previous day date in Windows short format
 {nextshort}  {ns}   
 next day date in Windows short format
 {time}  {ti}   
 系統時間
 {f1}  ...  {f12}   
 Function Key F1 to F12
 {wn}   
 等待n十分之一秒
 {alt}  {at}   
 Toggle Alt  down or up 
 {shift}  {sh}  Toggle Shift  down or up
 {ctrl}  {co}   
 Toggle Ctrl  down or up
 {win}  {wi}   
 Toggle Win  down or up   
{fast}   
 用快速的方式傳送key
{slow}   
 用慢速的方式傳送key
 %  % alone signals Alt
 ^  ^ alone signals Ctrl
 +  + alone signals Shift
   

 

  评论这张
 
阅读(606)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017