1

私は PowerShell をまったく初めて使用し、そのコマンド構文の一部について混乱しています。私はグーグルを見回してきました。ただし、私が見つけた構文のいくつかは

Send-Keys "%(ea)Testing{Enter}{F5}"

取り除くことができないように見えるエラーがあります。

で電卓を開くとします

var script = @" 
                Start-Process calc.exe
            ";

powerShell.AddScript(script);          
powerShell.Invoke();

フィールドに値を入力してキーストロークを送信するにはどうすればよいでしょうか? つまり、5 を入力して - キーを押し、6 を入力してから ENTER キーを押しますか?

さらに良いことに、PowerShell を使用して銘柄記号 (既定のテキスト フィールドではない) を入力し、Enter キーを押して検索するにはどうすればよいでしょうか? (firefox.exe を開いた後、www.yahoo.com に移動します)

お時間をいただきありがとうございます

4

2 に答える 2

3
Key                  SendKeys
BACKSPACE            {BACKSPACE}, {BS}, or {BKSP}   
BREAK                {BREAK}   
CAPS LOCK            {CAPSLOCK}   
DEL or DELETE        {DELETE} or {DEL}   
DOWN ARROW           {DOWN}   
END                  {END}   
ENTER                {ENTER} or ~   
ESC                  {ESC}   
HELP                 {HELP}   
HOME                 {HOME}   
INS or INSERT        {INSERT} or {INS}   
LEFT ARROW           {LEFT}   
NUM LOCK             {NUMLOCK}   
PAGE DOWN            {PGDN}   
PAGE UP              {PGUP}   
PRINT SCREEN         {PRTSC}   
RIGHT ARROW          {RIGHT}   
SCROLL LOCK          {SCROLLLOCK}   
TAB                  {TAB}   
UP ARROW             {UP}   
SHIFT                +                 
CONTROL              ^                 
ALT                  %                 
BACKSPACE            {BACKSPACE}, {BS}, or {BKSP}  

アプリケーションが起動するまでに時間がかかることに注意してください。電卓の準備が整う前にキーを送信している可能性があります。

次のようなものを試してください:

add-type -AssemblyName microsoft.VisualBasic
add-type -AssemblyName System.Windows.Forms

Calc

start-sleep -Milliseconds 500

[Microsoft.VisualBasic.Interaction]::AppActivate("Calc")
[System.Windows.Forms.SendKeys]::SendWait("1{ADD}1=")

これにより、Googleからの引用が得られます。

 $IE=new-object -com internetexplorer.application
 $IE.navigate2("https://www.google.co.uk/finance?client=ob&q=NASDAQ:MSFT")
 $IE.visible=$true
于 2012-05-23T20:23:16.097 に答える
1

自動的に uk.yahoo.com にリダイレクトされるため、www.yahoo.com にアクセスできません。

しかし、私はhttp://finance.yahoo.comに行き、あなたが望むことを正確に行うことができました.

少し醜く、ページレイアウトに依存していますが、機能しているようです:

add-type -AssemblyName microsoft.VisualBasic
add-type -AssemblyName System.Windows.Forms

& 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe' -url http://finance.yahoo.com

start-sleep 3

[System.Windows.Forms.SendKeys]::SendWait("{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}FB{ENTER}")
于 2012-05-23T20:46:41.080 に答える