티스토리 뷰

728x90

배치파일로 키보드 입력값을 보내는 방법을 알아보겠습니다.

 

일단 cmd명령어로 키보드 입력값을 보내는 방법은 없습니다.

하지만 여러 가지 방법으로 키보드 입력을 보낼 수 있습니다.

 

 

※ 사용할 수 있는 특수 키는 아래의 표에서 확인할 수 있습니다.

※ 그리고 ::로 시작하는 줄은 주석이라서 없애고 사용하셔도 됩니다.

 

Powershell 이용하기

 

파워쉘을 이용하는 방법은 코드가 짧습니다.

::여기 안을 바꿔 주시면 됩니다.
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('hello world')"

 

 

 

VBS이용하기
@echo off
::파일이 저장될 위치와 이름을 변수로 저장했습니다
::파일 이름은 snedkey.vbs입니다.
set file="%temp%\sendkey.vbs"

::vbs 파일을 만듭니다.
::여기서 "여기" 에 키 값을 넣어 주면 됩니다.
(echo Set objShell = WScript.CreateObject("WScript.Shell"^)
echo objShell.SendKeys "hello world") > %file%

::만든 vbs 파일을 실행시킵니다.
::vbs 파일은 wscript로 실행합니다.
wscript %file% | more

::만들었던 vbs파일을 삭제 합니다.
del /q %file%
pause

 

 

Sendkey에서 지원하는 특수 키 값

sendkey에서 사용할 수 있는 키 값입니다.

코드 코드
Backspace {BACKSPACE}, {BS}, {BKSP} INS 또는 INSERT {INSERT} 또는 {INS}
BREAK {BREAK} 방향키 ↓,↑,←,→ {DOWN}, {UP}, {LEFT}, {RIGHT}
CAPS LOCK {CAPSLOCK} NUM LOCK(넘버락) {NUMLOCK}
DEL 또는DELETE {DEL} 또는 {DELETE} PAGE UP, PAGE DOWN {PGUP}, {PGDN}
END {END} PRINT SCREEN {PRTSC}
ENTER {ENTER}, ~ TAB {TAB}
ESC {ESC} F1 ~ F16 {F1} ~ {F16}
HELP {HELP} SHIFT +
HOME {HOME} CTRL ^

 


SendKey예제

마지막으로 몇 가지 sendkey 예제로 글을 마무리하겠습니다.

 

▶ 윈도우키 누르기 - "^{ESC}"

    sendkey에서 윈도우 키는 지원하지 않습니다. 하지만 다른 방법으로 윈도우 키를 누를 수 있습니다.

    지금 키보드로 [ctrl] + [ESC]를 눌려 보세요.

    윈도우 창이 나왔죠?

    그래서 sendkey 키 값은 "^{ESC}"입니다.

 

[ALT] + [F4] 누르기 - "%{F4}"

    alt는 %, F4는 {F4} 이니까 %{F4}로 [alt] + [F4]를 할 수 있습니다.

 

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함