Red de conocimiento informático - Descarga de software - ¿Qué código Python se puede utilizar para controlar el teclado de otra computadora?

¿Qué código Python se puede utilizar para controlar el teclado de otra computadora?

Python3, usa socket para comunicarse entre dos computadoras y usa el módulo python?pyautogui para implementar pulsaciones de teclas. Si no está en una red de área local, se requiere un servidor de red pública para el reenvío. Requiere entorno para instalar las dependencias del entorno: #?ubuntu

$?sudo?apt-get?install?python3-pip

$?sudo?pip3?install?python3-xlib

$?sudo?apt-get?install?scrot

$?sudo?apt-get?install?python3-tk

$?sudo?apt-get ?instalar?python3-dev

#?mac?os

$?sudo?pip3?install?pyobjc-framework-Quartz

$?sudo?pip3 ?install?pyobjc-core

$?sudo?pip3?install?pyobjc

$?sudo?pip3?install?pillow

Windows no requiere instalación dependencias. Después de instalar las dependencias, instale el paquete de Python pip3?install?pyautogui

Lo siguiente se implementa simplemente en python3.

servidor.py (extremo controlado)importar?pyautogui

importar?tiempo

desde?socket?import?socket,?AF_INET,?SOCK_STREAM,? ,?SO_REUSEADDR

tcp_server_socket?=?socket(AF_INET,?SOCK_STREAM)

dirección?=?('',?8000)

tcp_server_socket.setsockopt ( SOL_SOCKET,?SO_REUSEADDR,?1)

tcp_server_socket.bind(dirección)

tcp_server_socket.listen(128)

def?handle_key(clave):< / p>

key?=?key.decode()

if?key?==?"alt":

print("presione el teclado alt")

pyautogui.press("alt")

elif?key?==?"enter":

tiempo.dormir(5)

pyautogui.press("enter")

print("Presione enter teclado")

elif?key?==?"win":

print( "Presiona tecla de ventana")

pyautogui.hotkey("winleft")

else:

print("Presiona otra tecla")

time.sleep(5)

pyautogui.typewrite(key)

mientras?True:

print("Esperando conexión")

tcp_client_socket,addr?=?tcp_server_socket.accept()

print('...conectado?desde',?addr)

mientras?True:

data?=?tcp_client_socket.recv(1024)

si?not?data:

romper

intenta:

p>

if?data.decode().startswith('exit'):

romper

excepto?Excepción?as?e:

imprimir(e)

romper

imprimir(datos)

handle_key(datos)

tcp_client_socket.send('servidor?recved . '.encode())

tcp_client_socket.close()

client.py (terminal de comando de control de envío) import?socket

HOST?=?' localhost '

PUERTO?=?8000

BUFSIZE?=?1024

ADDR=(HOST,?PORT)

tcp_client= socket .socket(socket.AF_INET,?socket.SOCK_STREAM)

tcp_client.connect(ADDR)

FLAG?=?True

mientras?True:

p>

datos

?=?input('>')

si?not?data:

romper

tcp_client.send(data.encode())

data=tcp_client.recv(BUFSIZE)

si?not?data:

FLAG?=?False

romper

imprimir(datos)

tcp_client.close()