用什么Python代码能控制另一台电脑的键盘

作者&投稿:拱仪 (若有异议请与网页底部的电邮联系)
怎么用python控制电脑暂不接受外部(如鼠标和键盘)指令?~

这个可以用hook来设两个钩子,一个是键盘钩子,一个是鼠标钩子,把键盘和鼠标的messagej截获但不处理~再用timer控制时间,暂停12秒后再卸载钩子就可以了~
这个可以用c++调用windows的API,setwindowshookex(). 至于python可以下载pywin32的package来调用api,用ctype来进行c的实现~
思路是这样的,具体可以参照MSDN来弄~

用pywin模块调用win32函数就可以了

import win32api
import win32con
win32api.keybd_event(17,0,0,0) #ctrl键位码是17
win32api.keybd_event(86,0,0,0) #v键位码是86
win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUP,0) #释放按键
win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)

附个键位码表:
字母和数字键 数字小键盘的键 功能键 其它键
键 键码 键 键码 键 键码 键 键码
A 65 0 96 F1 112 Backspace 8
B 66 1 97 F2 113 Tab 9
C 67 2 98 F3 114 Clear 12
D 68 3 99 F4 115 Enter 13
E 69 4 100 F5 116 Shift 16
F 70 5 101 F6 117 Control 17
G 71 6 102 F7 118 Alt 18
H 72 7 103 F8 119 Caps Lock 20
I 73 8 104 F9 120 Esc 27
J 74 9 105 F10 121 Spacebar 32
K 75 * 106 F11 122 Page Up 33
L 76 + 107 F12 123 Page Down 34
M 77 Enter 108 -- -- End 35
N 78 - 109 -- -- Home 36
O 79 . 110 -- -- Left Arrow 37
P 80 / 111 -- -- Up Arrow 38
Q 81 -- -- -- -- Right Arrow 39
R 82 -- -- -- -- Down Arrow 40
S 83 -- -- -- -- Insert 45
T 84 -- -- -- -- Delete 46
U 85 -- -- -- -- Help 47
V 86 -- -- -- -- Num Lock 144
W 87
X 88
Y 89
Z 90
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57

python3,使用socket在两台电脑之间通信,使用python pyautogui模块实现按键。如果不在一个局域网,需要公网服务器作做转发。需要环境安装环境依赖:

# 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 install python3-dev    
# mac os
$ sudo pip3 install pyobjc-framework-Quartz
$ sudo pip3 install pyobjc-core
$ sudo pip3 install pyobjc
$ sudo pip3 install pillow

windows不需要安装依赖。安装依赖之后,安装python 包

pip3 install pyautogui

以下在python3中简单实现。

server.py (被控制端)

import pyautogui

import time

from socket import socket, AF_INET, SOCK_STREAM, SOL_SOCKET, SO_REUSEADDR

tcp_server_socket = socket(AF_INET, SOCK_STREAM)

address = ('', 8000)

tcp_server_socket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)

tcp_server_socket.bind(address)

tcp_server_socket.listen(128)

def handle_key(key):
    key = key.decode()
    if key == "alt":
        print("按下alt键盘")
        pyautogui.press("alt")
    elif key == "enter":
        time.sleep(5)
        pyautogui.press("enter")
        print("按下enter键盘")
    elif key == "win":
        print("按下窗口键")
        pyautogui.hotkey("winleft")
    else:
        print("按下其它键")
        time.sleep(5)
        pyautogui.typewrite(key)

while True:
    print("等待连接")
    tcp_client_socket,addr = tcp_server_socket.accept()
    print('...connected from', addr)
    while True:
        data = tcp_client_socket.recv(1024)
        if not data:
            break
        try:
            if data.decode().startswith('exit'):
                break
        except Exception as e:
            print(e)
            break


        print(data)
        handle_key(data)
        tcp_client_socket.send('server recved.'.encode())
    tcp_client_socket.close()

client.py (发送控制指令端)

import socket

HOST = 'localhost'
PORT = 8000
BUFSIZE = 1024

ADDR=(HOST, PORT)

tcp_client=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp_client.connect(ADDR)

FLAG = True

while True:
    data = input('>')

    if not data:
        break

    tcp_client.send(data.encode())

    data=tcp_client.recv(BUFSIZE)

    if not data:
        FLAG = False
        break
    print(data)

tcp_client.close()



python是什么?
简单来说,Python是一个程序开发语言,是一个:高级编程语言,其设计的核心理念是代码的易读性,以及允许编程者通过若干行代码轻松表达想法创意。Python是一门多种用途的编程语言,时常在扮演脚本语言的角色。一般来说,Python可定义为面向对象语的脚本语言:这个定义把面向对象的支持和全面的面向脚本语言的角...

python是什么样的编程语言?
Python是一种开放源代码的脚本编程语言,这种脚本语言特别强调开发速度和代码的清晰程度。它可以用来开发各种程序,从简单的脚本任务到复杂的、面向对象的应用程序都有大显身手的地方。Python还被当作一种入门程序员最适合掌握的优秀语言,因为它免费、面向对象、扩展性强同时执行严格的编码标准。Python是免费的...

python是什么
关于python是什么如下:易于维护 Python的成功在于它的源代码易于维护。Python的源代码相当容易维护,这意味着它的代码可以被阅读和修改,因为它的源代码是相当容易理解的。这使得Python成为一种易于维护的编程语言,因为开发人员可以专注于解决问题而不是修改源代码。此外,Python还有一个强大的可移植性,因为...

python是什么样的编程语言?
Python第一个公开发行版发行于1991年,所以这年被当作Python的诞生年。Python源代码遵循GPL协议(通用公共许可证),这是一个开源的协议,也就是说你可以免费使用和传播它,而不用担心版权的问题。Python是一种跨平台的计算机程序设计语言, 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本...

Python是什么?
Python是一种脚本语言,写好了就可以直接运行,省去了编译链接的麻烦,对于需要多动手实践的初学者而言,也就是少了出错的机会。而且Python还有一种交互的方式,如果是一段简单的小程序,连编辑器都可以省了,直接敲进去就能运行。Python是一种清晰的语言,用缩进来表示程序的嵌套关系可谓是一种创举,把...

什么是Python?
Python是什么? Python由荷兰数学和计算机科学研究学会的Guido van Rossum于1990 年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加...

python编程有什么用
2、数据分析:Python可以使用NumPy、Pandas和Matplotlib等模块进行数据分析,可以快速地处理大规模的数据,并生成可视化的图表和报告。3、人工智能:Python是人工智能领域最受欢迎的编程语言之一,可以使用TensorFlow、PyTorch和scikit-learn等库进行机器学习和深度学习模型的训练和应用。4、网络爬虫:Python可以使用...

python编程软件有什么
一、Python代码编辑器 1. Sublime Text Sublime Text是一款非常流行的代码编辑器,支持Python代码编辑,同时兼容所有平台,并且丰富的插件扩展了语法和编辑功能,迅捷小巧,具有良好的兼容性,很受编程人士的喜爱!2. Vim Vim和Vi是一种模型编辑器,它将文本查看从文本编辑中分离,VIM在原始VI之上做了诸多...

python是什么语言
python的中文名称是蟒蛇。Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初是用来编写自动化脚本的,随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。Python特点主要有以下几个方面:1、简单:Python是一种代表简单主义思想的语言。阅读一个良好的...

Python入门知识点?
1、什么是Python? 使用Pvthon的优缺点有哪些?Python是一种面向对象的解释性的交互式语言,带有对象、模块、线程、异常和内存自动管理的机制。使用Python的优点有:简单、易学、轻便可移植、可扩展、可读性具有多种内建数据类型、开源等等。使用Python的缺点有:运行速度慢,代码不能加密(解释性语言,发布...

德保县19784283561: 用什么Python代码能控制另一台电脑的键盘 -
绪璧达克: python3,使用socket在两台电脑之间通信,使用python pyautogui模块实现按键.如果不在一个局域网,需要公网服务器作做转发.需要环境安装环境依赖:# ubuntu$ sudo apt-get install python3-pip$ sudo pip3 install python3-xlib$ sudo apt-get ...

德保县19784283561: 如何用python编写一个windows下远程控制Linux的程序 -
绪璧达克: 就用python的socket编程就可以了呵 在linux下面用python写一个,windows下面用python写一个,然后通过传输字符串来判断命令 然后linux将返回信息返回给windows,然后windows在显示

德保县19784283561: python远程操作windows服务器有什么方案 -
绪璧达克: 可以使用python+paramiko. paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 使用paramiko可以很好的解决以下问题: 需要使用windows客户端, 远程连接到Linux服务器,查看上面的日志状态,批量配置远程服务器,文件上传,文件下载等 !

德保县19784283561: 利用python对外部程序进行操作 -
绪璧达克: 代码如下 复制代码 object_id_list=[1, 3, 88, 99] f=open('mylist', “w”) for id in object_id_list: f.writelines(str(id)) f.close() #只有输入这一句之后才会真正写入到文件中 cat mylist138899% # 最后有一个%表示没有换行>>> object_id_list=[1, 3, ...

德保县19784283561: 有两台windows机器,现在我想利用python将其中一台的文件复制到另一台上,有哪些方法,怎么做最好有代码 -
绪璧达克: import shutil#复制文件 shutil.copyfile('listfile.py', 'd:/test.py') #复制目录 shutil.copytree('d:/www', 'c:/temp/')

德保县19784283561: python可以控制硬件吗?为什么? -
绪璧达克: 有控制arduino开发版的库,用ino代码和python建立通讯以达到控制目的. 最直接的是树莓派,用gpio的库来控制,原理是往com口里输入高/低电平.

德保县19784283561: 我在网上找到的用python写的在windows下控制鼠标的操作,求高手讲解一下这个代码,本人新手,看不懂~~ -
绪璧达克: 这个就是直接用的winapi,你到msdn上搜相应的函数就知道了.

德保县19784283561: 如何用python编程控制GoogleEarth -
绪璧达克: Python是个非常舒服的语言,比如你这句 start,stop=0,start 其实已经完成了两个赋值操作1.start=02.stop=startps p.s.这种方法有什么用处呢?在交换数字的时候特别有用 比如你a=3,b=4 你写成a,b=b,a 执行完后a=4,b=3 就直接完成了两个数字交换...

德保县19784283561: 如何用python做一个控制台程序,使其可以列出一个文件夹中有某一相同后缀名的文件? -
绪璧达克: glob和shutil 模块 网上资料有的,很容易实现.glob.glob列举所有的文件 shutil.copy复制文件.

德保县19784283561: python需要什么库 才能帮我按下其它程序交互界面的按钮? -
绪璧达克: 这个挺复杂的.如果你能让软件固定位置不动.可以使用pyhook,其中有一个按鼠标按键的功能.通常可以用来做游戏的自动工具. 如果再想进一步,需要分析你的程序是什么做的.如果是WEB APP,需要知道它用什么浏览器内核,也调用相应的插件点击. 如果是传统WNDOWS程序,可以使用win32 api,通过获得窗口句柄 ,并通过迭代查询找到控件的句柄,最后用发送消息,获取消息的办法来控制它.另外还有一类程序,比如flash之类的.用这些方法都不成了.因为它内部的代码不公开.如果一定要进一步研发.可以试着反编译出action script.然后想办法替换其中的逻辑.再使用java script去控制其中的逻辑,实现自动化处理.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网