Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.5k views
in Technique[技术] by (71.8m points)

powershell - How to send CTRL or ALT + any other key?

I have powershell script which will open web page (Selenium) and set focus on the "Message" box. Now, I want to simulate Ctrl+V to paste my data from clipboard. Is there any way to do that in pure powershell? An C# code that can be used in powershell function would be also great.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can send the modifier key combination Ctrl+C like this:

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

From article Converting the Windows Script Host SendKeys Method

The modifier keys are:

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

Other keys you might want:

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}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...