wscript.shell sendkeys를 사용하여 숫자 패드 키 스트로크를 보내는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/259024

문제

wscript.shell sendkeys 메소드를 사용하여 숫자 패드에서 키 프레스 보내기를 모방하려고합니다.

QTP 사용에 대한 자동 테스트를 작성하는 응용 프로그램이 있습니다. 웹 브라우저 기반 애플리케이션이며 입력은 웹 페이지의 Java 앱에 있습니다. 입력은 숫자 패드와 Enter 키에서 키 프레스 만 허용합니다.

지금까지 나는이 코드를 사용하고 있습니다.

Dim strInputKey
strInputKey = "{ENTER}"
Set objWsh = CreateObject("WScript.Shell")
Browser("Launch Browser").Page("Test Application").WebElement("Item ID").Click
objWsh.SendKeys strInputKey

이것은 Enter 키를 보내는 데 적합하지만 숫자 키를 보내는 방법이 있는지는 알 수 없습니다. 모든 도움은 대단히 감사하겠습니다.

이것을 달성 할 수있는 미등록 방법이 있는지 확실하지 않습니다. 내가 읽고 http://msdn.microsoft.com/en-us/library/8c6yea83(vs.85).aspx 그러나 그것은 크게 자세히 설명하지 않습니다.

미리 감사드립니다.

  • 브렌트
도움이 되었습니까?

해결책

숫자 패드의 키 코드를 사용해야합니다.

다음은 다음과 같습니다.http://www.empirisoft.com/directt/help/_helpcontents.htm?directt_key_codes.htm

따라서 "123"을 보내려면 다음을 수행해야합니다.

objWsh.SendKeys chr(79) & chr(80) & chr(81) 

다른 팁

나는 objwsh.sendkeys chr (79) & chr (80) & chr (81)라고 말한 위의 답변에 대해 언급 할 담당자가 없습니다.

그러나 나는 그것이 옳다고 생각하지 않습니다

Objwsh.sendkeys Chr (79) 및 Chr (80) 및 Chr (81)
처음에는 문자 O, P, Q를 보내며 1234567890과 같은 숫자를 원합니다.

그리고 링크는 키보드 스캔 코드로 이동합니다. 키보드의 키가 눌린 키를 아는 것 같아요. 그것들은 ASCII 코드와 다릅니다.
79,80,81은 숫자 패드 / Numpad의 일부 숫자에 대한 키보드 스캔 코드입니다.

그러나 chr, ASCII 코드를 사용합니다. 키보드 스캔 코드가 아닙니다.

또한 키를 눌러 수행하지 않기 때문에 여기에서 숫자를 지정하는 것만 지정합니다. 키가 사용되지 않았기 때문에 키가 사용 되었기 때문에 지정하고 지정할 필요가 없습니다.

SendKeys에게는 일부 숫자 (번호 패드에서)는 상단 행에서 키를 보내는 것과 동일합니다. 당신은 단지 숫자를 보내고 싶습니다.

그가 알고 싶은 것은 Sendkeys를 사용하여 숫자를 보내는 방법입니다.

objwsh.sendkeys 12345 또는 str = "12345"objwsh.sendkeys str

그러나 질문자가 Objwsh.sendkeys 12345가 그렇게 할 것이라는 것을 몰랐다면, 아마도 질문자는 혼란 스러울 것입니다. 나는 녹색 진드기에서, 그는 objwsh.sendkeys "opq"와 같은 대답을 투표했다.

나는 이것이 오래된 질문이라는 것을 알고 있지만, 올바른 질문과 답변을 위해 ..

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top