RPGXP 스크립트
2013.10.01 06:06

가상 키보드 입력 스크립트

조회 수 1660 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

#==============================================================================
# ** Key Simulator
#------------------------------------------------------------------------------
# by Fantasist
# Version: 0.1
# Date: 11-Dec-2008
#------------------------------------------------------------------------------
# Version History:
#
#   0.1 - First version
#------------------------------------------------------------------------------
# Description:
#
#     This script can simulate the pressing of the keyboard and mouse keys.
#   You can use this, for example, to switch to fullscreen by simulating the
#   ALT and ENTER keys.
#------------------------------------------------------------------------------
# Compatibility:
#
#     Should be compatible with almost everything.
#     Might not be compatible with similar scripts.
#------------------------------------------------------------------------------
# Instructions:
#
#     This script can simulate most of the common keyboard and mouse presses.
#   You can simulate three things: "key down" (press), "key up" (release) and
#   "trigger key" (press and release)
#
#   Syntax:
#             VK.down(VIRTUAL_KEY)
#             VK.up(VIRTUAL_KEY)
#             VK.trigger(VIRTUAL_KEY)
#
#   where VIRTUAL_KEY is the constant representing the required key.
#   For the exact name of the constant, scroll down and find the required key.
#
#   Number keys work a little different. For the number n, VIRTUAL_KEY is:#
#              NUM[n]
#   So 2, 6 and 0 are NUM[2], NUM[6], NUM[0] respectively.
#   Note that this is only the case with the number keys above the letter keys.
#   Numpad keys have individual constants. Numpad 4 is NUMPAD4
#
#   Example: Simulating "Alt + Enter"
#
#     Scroll down to find the constants for alt and enter keys. They are ALT
#   and ENTER respectively. Now, we need to simulate "alt down", "enter down",
#   "enter up", "alt up". The following code does that:
#
#             VK.down(VK::ALT) # ALT down
#             VK.down(VK::ENTER) # ENTER down
#             VK.up(VK::ENTER) # ENTER up
#             VK.up(VK::ALT) # ALT up
#
#------------------------------------------------------------------------------
# Issues:
#
#     I have very limited experience in this area, so I don't know what some
#   keys are (for example the OEM keys and such). The constants here are used
#   directly from the microsoft MSDN page regarding virtual keys.
#------------------------------------------------------------------------------
# Credits and Thanks:
#
#   Credits: Fantasist for making this.
#   Thanks: Memor-X for requesting this.
#------------------------------------------------------------------------------
# Notes:
#
#     If you have any questions, suggestions or comments, you can
#   find me (Fantasist) at:
#
#    - www.chaos-project.com
#    - www.quantumcore.forumotion.com
#
#   Enjoy ^_^
#==============================================================================

#==============================================================================
# ** module VK (Virtual Keys)
#==============================================================================

module VK
 
  V_KEYBD = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'
 
  def self.down(vk)
    V_KEYBD.call(vk, 0, 0, 0)
  end
 
  def self.up(vk)
    V_KEYBD.call(vk, 0, 2, 0)
  end
 
  def self.trigger(vk)
    V_KEYBD.call(vk, 0, 0, 0)
    V_KEYBD.call(vk, 0, 2, 0)
  end
 
  LBUTTON = 0x01 # Left mouse button
  RBUTTON = 0x02 # Right mouse button
  CANCEL = 0X03 # Control-break processing
  MBUTTON = 0x04 # Middle mouse button (Three-button mouse)
  XBUTTON1 = 0x05 # Windows 2000/XP: X1 mouse button
  XBUTTON2 = 0x06 # Windows 2000/XP: X2 mouse button
  BACK = 0x08 # BACKSPACE key
  TAB = 0x09 # TAB key
  CLEAR = 0x0C # CLEAR key
  ENTER = 0x0D # ENTER key
  SHIFT = 0x10 # SHIFT key
  CONTROL = 0x11 # CTRL key
  ALT = 0x12 # ALT key
  PAUSE = 0x13 # PAUSE key
  CAPITAL = 0x14 # CAPS LOCK key
  ESCAPE = 0x1B # ESC key
  SPACE = 0x20 # SPACEBAR
  PRIOR = 0x21 # PAGE UP key
  NEXT = 0x22 # PAGE DOWN key
  END_ = 0x23 # END key
  HOME = 0x24 # HOME key
  LEFT = 0x25 # LEFT ARROW key
  UP = 0x26 # UP ARROW key
  RIGHT = 0x27 # RIGHT ARROW key
  DOWN = 0x28 # DOWN ARROW key
  SELECT = 0x29 # SELECT key
  PRINT = 0x2A # PRINT key
  EXECUTE = 0x2B # EXECUTE key
  SNAPSHOT = 0x2C # PRINT SCREEN key
  INSERT = 0x2D # INS key
  DELETE = 0x2E # DEL key
  HELP = 0x2F # HELP key
  NUM = [0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39]
  A = 0x41 # A key
  B = 0x42 # B key
  C = 0x43 # C key
  D = 0x44 # D key
  E = 0x45 # E key
  F = 0x46 # F key
  G = 0x47 # G key
  H = 0x48 # H key
  I = 0x49 # I key
  J = 0x4A # J key
  K = 0x4B # K key
  L = 0x4C # L key
  M = 0x4D # M key
  N = 0x4E # N key
  O = 0x4F # O key
  P = 0x50 # P key
  Q = 0x51 # Q key
  R = 0x52 # R key
  S = 0x53 # S key
  T = 0x54 # T key
  U = 0x55 # U key
  V = 0x56 # V key
  W = 0x57 # W key
  X = 0x58 # X key
  Y = 0x59 # Y key
  Z = 0x5A # Z key
  LWIN = 0x5B # Left Windows key (Microsoft Natural keyboard)
  RWIN = 0x5C # Right Windows key (Natural keyboard)
  APPS = 0x5D # Applications key (Natural keyboard)
  SLEEP = 0x5F # Computer Sleep key
  NUMPAD0 = 0x60 # Numeric keypad 0 key
  NUMPAD1 = 0x61 # Numeric keypad 1 key
  NUMPAD2 = 0x62 # Numeric keypad 2 key
  NUMPAD3 = 0x63 # Numeric keypad 3 key
  NUMPAD4 = 0x64 # Numeric keypad 4 key
  NUMPAD5 = 0x65 # Numeric keypad 5 key
  NUMPAD6 = 0x66 # Numeric keypad 6 key
  NUMPAD7 = 0x67 # Numeric keypad 7 key
  NUMPAD8 = 0x68 # Numeric keypad 8 key
  NUMPAD9 = 0x69 # Numeric keypad 9 key
  MULTIPLY = 0x6A # Multiply key
  ADD = 0x6B # Add key
  SEPARATOR = 0x6C # Separator key
  SUBTRACT = 0x6D # Subtract key
  DECIMAL = 0x6E # Decimal key
  DIVIDE = 0x6F # Divide key
  F1 = 0x70 # F1 key
  F2 = 0x71 # F2 key
  F3 = 0x72 # F3 key
  F4 = 0x73 # F4 key
  F5 = 0x74 # F5 key
  F6 = 0x75 # F6 key
  F7 = 0x76 # F7 key
  F8 = 0x77 # F8 key
  F9 = 0x78 # F9 key
  F10 = 0x79 # F10 key
  F11 = 0x7A # F11 key
  F12 = 0x7B # F12 key
  F13 = 0x7C # F13 key
  F14 = 0x7D # F14 key
  F15 = 0x7E # F15 key
  F16 = 0x7F # F16 key
  NUMLOCK = 0x90 # NUM LOCK key
  SCROLL = 0x91 # SCROLL LOCK key
  LSHIFT = 0xA0 # Left SHIFT key
  RSHIFT = 0xA1 # Right SHIFT key
  LCONTROL = 0xA2 # Left CONTROL key
  RCONTROL = 0xA3 # Right CONTROL key
  LMENU = 0xA4 # Left MENU key
  RMENU = 0xA5 # Right MENU key
  BROWSER_BACK = 0xA6 # Windows 2000/XP: Browser Back key
  BROWSER_FORWARD = 0xA7 # Windows 2000/XP: Browser Forward key
  BROWSER_REFRESH = 0xA8 # Windows 2000/XP: Browser Refresh key
  BROWSER_STOP = 0xA9 # Windows 2000/XP: Browser Stop key
  BROWSER_SEARCH = 0xAA # Windows 2000/XP: Browser Search key
  BROWSER_FAVORITES = 0xAB # Windows 2000/XP: Browser Favorites key
  BROWSER_HOME = 0xAC # Windows 2000/XP: Browser Start and Home key
  VOLUME_MUTE = 0xAD # Windows 2000/XP: Volume Mute key
  VOLUME_DOWN = 0xAE # Windows 2000/XP: Volume Down key
  VOLUME_UP = 0xAF # Windows 2000/XP: Volume Up key
  MEDIA_NEXT_TRACK = 0xB0 # Windows 2000/XP: Next Track key
  MEDIA_PREV_TRACK = 0xB1 # Windows 2000/XP: Previous Track key
  MEDIA_STOP = 0xB2 # Windows 2000/XP: Stop Media key
  MEDIA_PLAY_PAUSE = 0xB3 # Windows 2000/XP: Play/Pause Media key
  LAUNCH_MAIL = 0xB4 # Windows 2000/XP: Start Mail key
  LAUNCH_MEDIA_SELECT = 0xB5 # Windows 2000/XP: Select Media key
  LAUNCH_APP1 = 0xB6 # Windows 2000/XP: Start Application 1 key
  LAUNCH_APP2 = 0xB7 # Windows 2000/XP: Start Application 2 key
  OEM_1 = 0xBA # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the ';:' key
  OEM_PLUS = 0xBB # Windows 2000/XP: For any country/region, the '+' key
  OEM_COMMA = 0xBC # Windows 2000/XP: For any country/region, the ',' key
  OEM_MINUS = 0xBD # Windows 2000/XP: For any country/region, the '-' key
  OEM_PERIOD = 0xBE # Windows 2000/XP: For any country/region, the '.' key
  OEM_2 = 0xBF # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the '/?' key
  OEM_3 = 0xC0 # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the '`~' key
  OEM_4 = 0xDB # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the '[{' key
  OEM_5 = 0xDC # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the '|' key
  OEM_6 = 0xDD # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the ']}' key
  OEM_7 = 0xDE # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key
  OEM_8 = 0xDF # Used for miscellaneous characters; it can vary by keyboard.
  OEM_102 = 0xE2 # Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard
  PROCESSKEY = 0xE5 # Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
  PLAY = 0xFA # Play key
  ZOOM = 0xFB # Zoom key
  OEM_CLEAR = 0xFE # Clear key
 
end

 

강제 키입력을 가능하게 하는 스크립트입니다.

 

사용예시)

ALT + Enter를 누른 것처럼 하려면

 

VK.down(VK::ALT) # ALT down
VK.down(VK::ENTER) # ENTER down
VK.up(VK::ENTER) # ENTER up
VK.up(VK::ALT) # ALT up

 

이렇게 하시면 됩니다.


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
188 RPGXP 스크립트 아이템 조합 스크립트 2013.10.01 890 0
» RPGXP 스크립트 가상 키보드 입력 스크립트 2013.10.01 1660 0
186 RPGXP 스크립트 RPG 만들기 XP의 숨겨진 모듈/클래스 재정의 스크립트 모음 2013.10.01 1240 0
185 RPGXP 스크립트 빠른 길찾기 2 휴리드 2013.09.30 1336 0
184 RPGVX Ace 스크립트 텍스트 파일생성 1 휴리드 2013.09.30 654 0
183 RPGVX Ace 스크립트 파일 존재의 유무 체크 4 휴리드 2013.09.30 639 0
182 RPGXP 스크립트 네코에서 되는 마우스 스크립트 13 휴리드 2013.09.30 1675 0
181 RPGVX 스크립트 3D 그래픽 파티클 스크립트 1 청담 2013.09.29 1272 0
180 RPGXP 스크립트 일시정지 스크립트 2 청담 2013.09.29 929 0
179 RPGXP 스크립트 셀프 스위치 조작 4 청담 2013.09.29 656 0
178 RPGXP 스크립트 HBGames.ORG::Motion Blur 3 죽은노예 2013.09.27 771 0
177 RPGXP 스크립트 횡스크롤 스크립트 3  운 2013.09.27 1106 0
176 RPGXP 스크립트 FPS 표시 스크립트 7  운 2013.09.27 1166 0
175 RPGXP 스크립트 안티 렉 스크립트 2 2013.09.26 3327 1
174 RPGXP 스크립트 2D 마인크래프트 프로젝트 7 2013.09.26 3048 2
173 RPGXP 스크립트 정지 모션 스크립트 2 2013.09.26 713 1
172 RPGXP 스크립트 모든 글자에 외곽선을 넣어주는 스크립트 3 2013.09.26 808 1
171 RPGXP 스크립트 아이템 소지수 무제한 스크립트 청담 2013.09.24 1001 0
170 RPGXP 스크립트 메뉴에서 실제시간 보는 스크립트 4 청담 2013.09.24 607 0
169 RPGXP 스크립트 장비제련 스크립트 청담 2013.09.24 1024 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)