2012-05-23 7 views
1

전 PowerShell을 처음 접했고 명령 구문 중 일부에 대해 혼란스러워합니다. 나는 구글을 둘러 보았다. 그러나 내가 발견 한 구문 중 일부는C#의 PowerShell 명령

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

과 같은 오류가있어서 제거 할 수없는 오류가 있습니다.

어떻게 하나의 필드에 값을 입력하고 키 입력을 보내는 가야 않습니다 내가

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

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

와 계산기를 엽니 말? 즉, 5를 입력하고 - 키를 누르고 6을 입력 한 다음 ENTER 키를 누릅니다.

더 좋게는 PowerShell을 사용하여 기본 텍스트 필드가 아닌 일부 주식 기호를 입력 한 다음 Enter 키를 눌러 검색하려면 어떻게해야합니까? (www.yahoo.com로 이동, firefox.exe를 연 후)

은 당신의 시간을 명심하기

+0

당신이 웹 페이지와 일을하려고하는거야? 그것을 보여 주거나 그것을 구문 분석합니까? –

답변

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

: 같은

시도 뭔가가 자동으로 영국에 나를 리디렉션으로

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

안녕하십니까, 응답을 주셔서 감사합니다. 이전 명령이 완료된 후에 만 ​​키가 전송되도록 보장 할 수있는 방법이 있습니까? –

+0

나는 의심 스럽다. 당신이하고있는 모든 것은 키 입력을 블랙 박스에 버리는 것이다. 충돌에 대해 걱정한다면 잠을 자겠다. –

+0

start-sleep 커맨드 렛을 사용하여 프로그램이 시작될 때까지 기다려야합니다. 위의 예제는 계산기가 즉시 시작되기 때문에 500 밀리 초를 기다립니다. 'start-sleep 4'는 4 초를 기다립니다. – LukeP

1

나는 www.yahoo.com에 갈 수 없습니다. 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}") 
관련 문제