怎样用python模拟键盘(python 模拟鼠标和键盘输入)

本文目录一览:

ubuntu|linux下 如何用python 模拟按键

ubuntu下,也就是linux下,通常会用kill -事件编号实现。 你查一下LINUX下的事件就明白了。

kill 进程号 实现上是发了一个信号给指定的进程。 在python里,也可以加载事件处理模块,处理来自其它程序发过来的信号, 当然你可以用KILL工具发信号过来。

ctrl+d也是一个信号,ctrl+c也是一个。具体信号编码我不记得了。不过以前我做多进程管理时就是使用这个方法。 好象信号还可以带参数过来。

你打开python的帮助。看看signal这个模块。我把它的例子拿过来。对你有用不

import signal, os

def handler(signum, frame):

    print ‘Signal handler called with signal’, signum

    raise IOError(“Couldn’t open device!”)

# Set the signal handler and a 5-second alarm

signal.signal(signal.SIGALRM, handler)

signal.alarm(5)

# This open() may hang indefinitely

fd = os.open(‘/dev/ttyS0’, os.O_RDWR)

signal.alarm(0)          # Disable the alarm

下面是我找到的一些资料。也许有用。

信号的概念

信号(signal)–     进程之间通讯的方式,是一种软件中断。一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号。

几个常用信号:

SIGINT     终止进程  中断进程  (control+c)

SIGTERM   终止进程     软件终止信号

SIGKILL   终止进程     杀死进程

SIGALRM 闹钟信号

进程结束信号 SIGTERM和SIGKILL的区别

SIGTERM比较友好,进程能捕捉这个信号,根据您的需要来关闭程序。在关闭程序之前,您可以结束打开的记录文件和完成正在做的任务。在某些情况下,假如进程正在进行作业而且不能中断,那么进程可以忽略这个SIGTERM信号。

对于SIGKILL信号,进程是不能忽略的。这是一个 “我不管您在做什么,立刻停止”的信号。假如您发送SIGKILL信号给进程,Linux就将进程停止在那里。

发送信号一般有两种原因:

1(被动式)  内核检测到一个系统事件.例如子进程退出会像父进程发送SIGCHLD信号.键盘按下control+c会发送SIGINT信号

2(主动式)  通过系统调用kill来向指定进程发送信号

linux操作系统提供的信号

[100003@oss235 myppt]$ kill -l

1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL

5) SIGTRAP      6) SIGABRT      7) SIGBUS       8) SIGFPE

9) SIGKILL     10) SIGUSR1     11) SIGSEGV     12) SIGUSR2

13) SIGPIPE     14) SIGALRM     15) SIGTERM     16) SIGSTKFLT

17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP

21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU

25) SIGXFSZ     26) SIGVTALRM   27) SIGPROF     28) SIGWINCH

29) SIGIO       30) SIGPWR      31) SIGSYS      34) SIGRTMIN

35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3  38) SIGRTMIN+4

39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8

43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12

47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14

51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10

55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7  58) SIGRTMAX-6

59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2

63) SIGRTMAX-1  64) SIGRTMAX

Python提供的信号

Python 2.4.3 (#1, Jun 11 2009, 14:09:58)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

import signal

dir(signal)

[‘NSIG’, ‘SIGABRT’, ‘SIGALRM’, ‘SIGBUS’, ‘SIGCHLD’, ‘SIGCLD’,

‘SIGCONT’, ‘SIGFPE’, ‘SIGHUP’, ‘SIGILL’, ‘SIGINT’, ‘SIGIO’, ‘SIGIOT’,

‘SIGKILL’, ‘SIGPIPE’, ‘SIGPOLL’, ‘SIGPROF’, ‘SIGPWR’, ‘SIGQUIT’,

‘SIGRTMAX’, ‘SIGRTMIN’, ‘SIGSEGV’, ‘SIGSTOP’, ‘SIGSYS’, ‘SIGTERM’,

‘SIGTRAP’, ‘SIGTSTP’, ‘SIGTTIN’, ‘SIGTTOU’, ‘SIGURG’, ‘SIGUSR1’,

‘SIGUSR2’, ‘SIGVTALRM’, ‘SIGWINCH’, ‘SIGXCPU’, ‘SIGXFSZ’, ‘SIG_DFL’,

‘SIG_IGN’, ‘__doc__’, ‘__name__’, ‘alarm’, ‘default_int_handler’,

‘getsignal’, ‘pause’, ‘signal’]

操作系统规定了进程收到信号以后的默认行为

但是,我们可以通过绑定信号处理函数来修改进程收到信号以后的行为

有两个信号是不可更改的SIGTOP和SIGKILL

绑定信号处理函数

import os  

import signal  

from time import sleep  

 

def onsignal_term(a,b):  

   print ‘收到SIGTERM信号’  

 

#这里是绑定信号处理函数,将SIGTERM绑定在函数onsignal_term上面  

signal.signal(signal.SIGTERM,onsignal_term)  

 

def onsignal_usr1(a,b):  

   print ‘收到SIGUSR1信号’  

#这里是绑定信号处理函数,将SIGUSR1绑定在函数onsignal_term上面  

signal.signal(signal.SIGUSR1,onsignal_usr1)  

 

while 1:  

   print ‘我的进程id是’,os.getpid()  

   sleep(10)  

运行该程序。然后通过另外一个进程来发送信号。

发送信号

发送信号的代码如下:

import os  

import signal  

 

#发送信号,16175是前面那个绑定信号处理函数的pid,需要自行修改  

os.kill(16175,signal.SIGTERM)  

#发送信号,16175是前面那个绑定信号处理函数的pid,需要自行修改  

os.kill(16175,signal.SIGUSR1)

请用Python如何模拟键盘操作

用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

python怎么模拟键盘操作?

实现了一个最简单的输入密码,enter进入的简单键盘操作登录过程,具体代码如下:

· 鼠标点击

有m.click(x, y, button, n)  — 点击,想x,y坐标,button:-1表示左键,-2表示右键,n:默认1次,2双击

m.move(x, y) — 鼠标移动

m.screen_size() — 获取屏幕尺寸

· 键盘操作

k.type_string(‘abcdefg’) –输入内容

k.press_key(‘a’) –按a键

k.release_key(‘a’) –松开a键

k.tap_key(‘a’) –点击a键

k.tap_key(‘a’, n=2, interval=5) –点击a键2次,每次间隔5秒

k.tap_key(k.function_keys[5]) –功能键F5

k.press_keys([k.alt_key, ‘a’]) –组合按键

python怎么实现自动点击按钮的功能

用python的sendkeys直接模拟键盘,用ctype扩展来点鼠标。你需要做的就是用python打开浏览器,然后输入网站,在找到按钮的坐标(固定到程序里),然后点击就行了。不过简单的可以,复杂点的就要考虑很多问题了。

python 怎么通过windows gui(鼠标双击程序图标)打开第三方软件,而不是通过cmd命令?

你说的是用python模拟键鼠吧?

下面是一个模拟鼠标键盘操作登录软件的python代码

from pymouse.windows import PyMouse

from pykeyboard import PyKeyboard

import time

m = PyMouse() # 鼠标对象

k = PyKeyboard() # 键盘对象

x_dim, y_dim = m.position() # 获得屏幕尺寸

print(‘鼠标当前位置: ‘, x_dim, y_dim)

”’模拟鼠标定时点击”’

#鼠标点击指定位置

m.move(62, 350)

m.click(62,350,1)

for i in range(1,3):

time.sleep(5)

m.click(62,350,1)

”’模拟鼠标键盘登录软件”’

#打开应用

m.click(51,543,1,2)

time.sleep(8)

#输入密码

m.click(568,544,1)

k.type_string(‘你的密码’)

time.sleep(3)

#回车

k.tap_key(k.enter_key)

time.sleep(6)

#确认登录

m.click(568,544,1)

k.press_key(k.alt_key)

k.tap_key(‘y’)

k.release_key(k.alt_key)

原创文章,作者:PLDCG,如若转载,请注明出处:https://www.506064.com/n/313688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
PLDCGPLDCG
上一篇 2025-01-07 09:44
下一篇 2025-01-07 09:44

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29

发表回复

登录后才能评论