C# 命令中的 PowerShell
本文关键字:PowerShell 命令 | 更新日期: 2023-09-27 18:35:04
我对PowerShell完全陌生,对它的一些命令语法感到困惑。我一直在谷歌周围寻找;但是,我发现的一些语法例如
Send-Keys "%(ea)Testing{Enter}{F5}"
有我似乎无法摆脱的错误。
假设我打开计算器
var script = @"
Start-Process calc.exe
";
powerShell.AddScript(script);
powerShell.Invoke();
如何输入字段的值并发送击键?也就是说,输入 5,按 - 键,输入 6,然后按 ENTER 键?
甚至更好,如何使用PowerShell输入一些股票代码(不是默认文本字段),然后按回车键进行搜索?(打开火狐.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}")