簡體   English   中英

C#命令中的PowerShell

[英]PowerShell in C# commands

我是PowerShell的新手,對它的一些命令語法感到困惑。 我一直在尋找谷歌; 但是,我發現的一些語法如

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

有錯誤,我似乎無法擺脫。

說我打開計算器

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

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

如何進入字段值並發送擊鍵? 也就是說,輸入5,按下 - 鍵,輸入6,然后點擊ENTER鍵?

或者更好的是,如何使用PowerShell輸入一些股票代碼(這不是默認的文本字段)然后通過點擊輸入來搜索它? (打開firefox.exe后,導航到www.yahoo.com)

感謝您的時間

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=")

這應該得到谷歌的報價:

 $IE=new-object -com internetexplorer.application
 $IE.navigate2("https://www.google.co.uk/finance?client=ob&q=NASDAQ:MSFT")
 $IE.visible=$true

我無法訪問www.yahoo.com,因為它會自動將我重定向到uk.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}")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM