파이썬의 keyboard, mouse 라이브러리를 이용해 윈도우에 키보드/마우스 입력 이벤트를 발생시킵니다.
만들오토와 함께 사무 자동화에 사용할 수 있습니다.
※ win32 api를 이용하기 때문에 게임화면에 입력은 안되는 경우가 많습니다. 아래 글 참고
[만들오토] 만들오의 매크로 "만들오토" 소개 (tistory.com)
파이썬 라이브러리 설치
pip install Flask Flask-Cors keyboard mouse
파이썬 코드
#!/usr/bin/env python
# input_9000.py
from flask import Flask, Response
from flask_cors import CORS
import os
import keyboard
import mouse
#플라스크 웹서버 생성
app = Flask(__name__)
CORS(app)
#라우팅 구성
@app.route('/<cmd>')
def get_input(cmd):
print(cmd)
if "," in cmd:
# x,y
x = int(cmd[:cmd.index(",")])
y = int(cmd[cmd.index(",")+1:])
mouse.move(x, y, duration=0.1)
mouse.click()
else:
keyboard.write(cmd)
return Response(status=204)
#파일명으로부터 변수 받기. 파일명은 input_포트.py
file_name = os.path.abspath(__file__).split("\\")[-1]
port = int(file_name.split("_")[1].split(".")[0])
print(f"키보드 입력서버를 시작합니다.")
print("")
print(f"서버 URL: http://127.0.0.1:{port}")
print("종료는 Ctrl + c 를 입력하세요.")
print("")
app.run(host="127.0.0.1", port=port, debug=False, threaded=True, use_reloader=False)
사용 방법
포트번호를 파일명을 파싱해 적용하도록 구성했습니다.
- input_9000.py → http://127.0.0.1:9000
- input_8080.py → http://127.0.0.1:8080
브라우저 주소에 http://127.0.0.1:9000/500,500 을 입력하면 500,500 위치를 클릭하게 됩니다.
만들오토를 이용하는 경우, URL을 "http://127.0.0.1:포트번호"로 입력해 주면 됩니다.
기타 궁금하신 부분은 댓글을 남겨주세요.
감사합니다.
[끝].
728x90
'소프트웨어 > 파이썬' 카테고리의 다른 글
[파이썬] 윈도우 화면 캡처 웹 스트리밍(with flask, dxcam, opencv) (0) | 2024.05.22 |
---|---|
[파이썬] 윈도우 화면 캡처 (with dxcam, pyside6) (0) | 2024.04.07 |
[파이썬] 공인 IP주소 확인하기 (0) | 2023.10.29 |
[파이썬] 텔레그램 메시지와 사진 보내기 (0) | 2023.10.21 |
[파이썬] 텔레그램 chat id 확인하기 (0) | 2023.10.20 |
댓글