문제

예를 들어 키가 눌린 시스템으로 보이게 할 수 있습니까? 예를 들어 키는 수천 번 압축 될 것이며, 수동으로하는 것은 시간이 많이 걸리고, 나는 나를 위해 그것을하기 위해 무언가를 쓰고 싶습니다. 그리고 내가 충분히 잘 아는 것은 Python입니다.

더 나은 방법으로, 키 프레스를 모방해야합니다. 즉, 키 프레스를 캡처하지 않아야합니다.

추가 정보 (요청에 따라) : Windows XP를 실행 중이며 키를 다른 응용 프로그램으로 보내야합니다.

도움이 되었습니까?

해결책

설치 pywin32 확장. 그런 다음 다음을 수행 할 수 있습니다.

import win32com.client as comclt
wsh= comclt.Dispatch("WScript.Shell")
wsh.AppActivate("Notepad") # select another application
wsh.SendKeys("a") # send the keys you want

wscript.shell 객체의 설명서를 검색합니다 (모든 Windows XP 설치에 기본적으로 설치되었다고 생각합니다). 당신은 시작할 수 있습니다 여기, 아마도.

편집하다: F11을 보내기

import win32com.client as comctl
wsh = comctl.Dispatch("WScript.Shell")

# Google Chrome window title
wsh.AppActivate("icanhazip.com")
wsh.SendKeys("{F11}")

다른 팁

Pyautogui를 사용하여 가상 키 프레스를 보낼 수도 있습니다.

문서는 다음과 같습니다. https://pyautogui.readthedocs.org/en/latest/

import pyautogui


pyautogui.press('Any key combination')

Shift 키와 같은 키를 보내거나 다음과 같이 Enter 키를 보낼 수도 있습니다.

import pyautogui

pyautogui.press('shift')

Pyautogui는 또한 다음과 같은 직선 텍스트를 보낼 수 있습니다.

import pyautogui

pyautogui.typewrite('any text you want to type')

"a"키를 1000 번 누르면 다음과 같이 보일 것입니다.

import pyautogui

for i in range(999):
    pyautogui.press("a")

Alt-TAB 또는 동시에 하나 이상의 키를 눌러야하는 다른 작업 :

import pyautogui

# Holds down the alt key
pyautogui.keyDown("alt")

# Presses the tab key once
pyautogui.press("tab")

# Lets go of the alt key
pyautogui.keyUp("alt")

Autohotkey 이런 종류의 작업에 적합합니다 (키보드 자동화 / 리핑)

"A"를 100 번 보내는 스크립트 :

Send {A 100}

그게 다야

편집하다: 키를 특정 응용 프로그램으로 보내려면 :

WinActivate Word
Send {A 100}

이 모듈을 확인하십시오 건반 많은 기능 으로이 명령을 사용하여 설치하십시오.

pip3 install keyboard

그런 다음이 코드를 사용하십시오.

import keyboard
keyboard.write('A',delay=0)

'a'를 여러 번 쓰려면 루프를 사용하기 만하면됩니다.
메모:
핵심 'A'는 전체 Windows에 눌려 질 것입니다. 스크립트가 실행 중이며 브라우저로 가면 스크립트가 작성하기 시작합니다.

플랫폼이 Windows라면 실제로 Python을 추천하지 않습니다. 대신 조사하십시오 Autohotkey. 나를 믿으십시오, 나는 파이썬을 좋아하지만,이 상황에서 매크로 프로그램은 그 일에 이상적인 도구입니다. AutoHotkey의 스크립팅은 괜찮습니다 (내 의견으로는) 입력을 쉽게 시뮬레이션하면 수많은 시간을 절약 할 수 있습니다. AutoHotkey 스크립트를 "컴파일"할 수 있으므로 스크립트를 실행하기 위해 통역사가 필요하지 않습니다.

또한 이것이 웹에서 무언가를위한 것이라면 권장합니다. Imacros. Firefox 플러그인이므로 웹 사이트와 훨씬 더 나은 통합을 제공합니다. 예를 들어, (319,400)에서 Mouseclick을 시뮬레이션 한 다음 'A'1000 번 "을 누르는 대신"이 형식으로 1000 'A를 쓰기 "라고 말할 수 있습니다.

Linux의 경우 불행히도 키보드/마우스 매크로를 쉽게 만들 수있는 좋은 방법을 찾을 수 없었습니다.

키 프레스 이벤트를 보내기 전에 창을 전경으로 선호하는 대체 방법.

hwnd = win32gui.FindWindowEx(0,0,0, "App title")
win32gui.SetForegroundWindow(hwnd)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top