Python通過socket在兩臺電腦之間實現遠程控制鍵盤。首先,確保安裝必要的環境依賴:對于Ubuntu:#ubuntu$sudoapt-getinstallpython3-pip$sudopip3installpython3-xlib$sudoapt-getinstallscrot$sudoapt-getinstallpython3-tk$sudoapt-getinstallpython3-dev對于macOS:#macos$sudopip3installpyobjc-framework-Quartz$sudopip3installpyobjc-core$sudopip3installpyobjc$sudopip3installpillow對于Windows,無需安裝依賴。安裝依賴后,使用pip3安裝pyautogui:$pip3installpyautogui以下是在Python3中實現的簡單示例。server.py(被控制端):導入模塊:importpyautoguiimporttimefromsocketimportsocket,AF_INET,SOCK_STREAM,SOL_SOCKET,SO_REUSEADDR創建socket:tcp_server_socket=socket(AF_INET,SOCK_STREAM)設置地址和端口:address=('',8000)設置socket選項:tcp_server_socket.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)綁定地址和端口:tcp_server_socket.bind(address)監聽連接:tcp_server_socket.listen(128)處理按鍵:defhandle_key(key):key=key.decode()ifkey=="alt":print("按下alt鍵盤")pyautogui.press("alt")elifkey=="enter":time.sleep(5)pyautogui.press("enter")print("按下enter鍵盤")elifkey=="win":print("按下窗口鍵")pyautogui.hotkey("winleft")else:print("按下其它鍵")time.sleep(5)pyautogui.typewrite(key)進入循環:whileTrue:print("等待連接")tcp_client_socket,addr=tcp_server_socket.accept()print('...connectedfrom',addr)whileTrue:data=tcp_client_socket.recv(1024)ifnotdata:breaktry:ifdata.decode().startswith('exit'):breakexceptExceptionase:print(e)breakprint(data)handle_key(data)tcp_client_socket.send('serverrecved.'.encode())tcp_client_socket.close()client.py(發送控制指令端):導入模塊:importsocket設置主機和端口:HOST='localhost'PORT=8000BUFSIZE=1024ADDR=(HOST,PORT)創建socket:tcp_client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)連接服務器:tcp_client.connect(ADDR)設置標志:FLAG=True進入循環:whileTrue:data=input('>')ifnotdata:breaktcp_client.send(data.encode())接收數據:data=tcp_client.recv(BUFSIZE)ifnotdata:FLAG=Falsebreakprint(data)tcp_client.close()確保在控制端正確發送指令,以便被控制端能夠響應。通過這種方式,可以實現遠程控制另一臺電腦的鍵盤。