如何发送CTRL或ALT +任何其他密钥?

时间:2013-11-06 23:09:37

标签: powershell key

我有PowerShell脚本,它将打开网页(Selenium)并将焦点设置在“消息”框中。现在,我想模拟 Ctrl + V 从剪贴板粘贴我的数据。有没有办法在纯PowerShell中做到这一点? 可以在powershell函数中使用的C#代码也很棒。

2 个答案:

答案 0 :(得分:24)

您可以像这样发送修改键组合 Ctrl + C

[void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
[System.Windows.Forms.SendKeys]::SendWait("^{c}") 

来自文章Converting the Windows Script Host SendKeys Method

修饰键是:

Key  | Code
-----------
SHIFT  +
CTRL   ^
ALT    %

您可能需要的其他键:

Key  | Code
-----------
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}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW    {UP}
F1  {F1}
F2  {F2}
F3  {F3}
F4  {F4}
F5  {F5}
F6  {F6}
F7  {F7}
F8  {F8}
F9  {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}
Keypad add  {ADD}
Keypad subtract {SUBTRACT}
Keypad multiply {MULTIPLY}
Keypad divide   {DIVIDE}

答案 1 :(得分:0)

阅读有点干,但也许正在阅读C#关于使用剪贴板上的内容的文档可能会有所帮助:

http://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard%28v=vs.110%29.aspx