python编写后台按键脚本
❶ ubuntu|linux下 如何用python 模拟按键
ubuntu下,也就是linux下,通常会用kill -事件编号实现。 你查一下LINUX下的事件就明白了。
kill 进程号 实现上是发了一个信号给指定的进程。 在python里,也可以加载事件处理模块,处理来自其它程序发过来的信号, 当然你可以用KILL工具发信号过来。
ctrl+d也是一个信号,ctrl+c也是一个。具体信号编码我不记得了。不过以前我做多进程管理时就是使用这个方法。 好象信号还可以带参数过来。
你打开python的帮助。看看signal这个模块。我把它的例子拿过来。对你有用不
importsignal,os
defhandler(signum,frame):
print'Signalhandlercalledwithsignal',signum
raiseIOError("Couldn'topendevice!")
#Setthesignalhandleranda5-secondalarm
signal.signal(signal.SIGALRM,handler)
signal.alarm(5)
#Thisopen()mayhangindefinitely
fd=os.open('/dev/ttyS0',os.O_RDWR)
signal.alarm(0)#Disablethealarm
下面是我找到的一些资料。也许有用。
信号的概念
信号(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) SIGHUP2) SIGINT3) SIGQUIT4) SIGILL
5) SIGTRAP6) SIGABRT7) SIGBUS8) SIGFPE
9) SIGKILL10) SIGUSR111) SIGSEGV12) SIGUSR2
13) SIGPIPE14) SIGALRM15) SIGTERM16) SIGSTKFLT
17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP
21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU
25) SIGXFSZ26) SIGVTALRM27) SIGPROF28) SIGWINCH
29) SIGIO30) SIGPWR31) SIGSYS34) SIGRTMIN
35) SIGRTMIN+136) SIGRTMIN+237) SIGRTMIN+338) SIGRTMIN+4
39) SIGRTMIN+540) SIGRTMIN+641) SIGRTMIN+742) SIGRTMIN+8
43) SIGRTMIN+944) 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-956) SIGRTMAX-857) SIGRTMAX-758) SIGRTMAX-6
59) SIGRTMAX-560) SIGRTMAX-461) SIGRTMAX-362) SIGRTMAX-2
63) SIGRTMAX-164) 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", "right", "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)
❷ 求大佬帮我写个按键精灵脚本 就是消逝的光芒里滑铲的按键 长按shift+w 不断摁c
你好,按键精灵的VB语言不太会,给你python代码供你参考,写代码其实跟物理操作是一一对应的:野桥
km.down('shift')#shift按下
km.down('w') #w按下
km.press('c') #按C键
以上,如果你想不停的循环,加个循环语句即可:
while 1: #死循环
km.down('哪猛shift')#shift按下
km.down('w') #w按下
km.press('c') #按C键
这样李脊桥就能达到你的要求啦.以上python运行环境为kmbox键鼠宏转换器,详请参考:网页链接
谢谢!
❸ 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 如何写脚本
以Python2.7操作为例:
1、首先需要打开电脑桌面,按开始的快捷键,点击Python2.7如图所示的选项进入。
❺ python怎么编是否按键
Python如何模拟键盘输入?Python怎么控制键盘按键
回答于2022-11-23
在之前的文章之中大家已经学习过了python对鼠标的全部详细操作,那么键盘作为同样重要的外置设备,一样在python内可以通过方法来模拟输入和按键。所以本篇文章所要来介绍的内容就是python控制鼠标按键实现模拟键盘输入的详细教程,一起往下看看吧。
那么键盘控制和鼠标控制一样,都是能够通过第三方库pyautogui所提供的方法来操作的。不过因为键盘操作的执行时间过快,所以需要设置一下每次键盘操作方法调用之后下个操作生效的时间间隔,示例如下:
import pyautogui as ui ui.PAUSE = 1
一、模拟键盘输入
键盘输入需要定位到浏览器网页或者是程序上面的输入栏,这一步得使用鼠标移动和点击方法来实现,具体的方法可以参考之前的文章。那么键盘输入需要调用的方法为typewrite(),它可以传入字符串类型对象以及数字两个参数。
第一个参数就是要输入的文字,而第二个则是字符之间的间隔,方法语法如下所示:
ui.typewrite('YYDS', 0.5)
二、控制键盘按键
键盘上的按键想要使用总共需要是有两个操作的,第一个是按下,第二个就是释放了。那么这两个操作可以使用两个方法来实现,这两个方法接收的参数需要一致,示例如下:
ui.keyDown('ctrl')ui.keyUp('ctrl')
实际上除了要在按下一个键之后再按其他键来形成组合快捷键,一般都是会直接使用press()这个方法。因为该方法就相当于键盘按键按下和释放的完整操作,示例如下:
ui.press('Y')
而组合快捷键也有专门的方法可以去使用,只要按照顺序传入按键对应的字符串值即可,如下所示:
ui.hotkey('ctrl','c')ui.hotkey('ctrl','v')
以上就是关于“Python如何模拟键盘输入?Python怎么控制键盘按键”的全部内容了,希望对你有所帮助。
❻ 求帮忙写一个按键精灵脚本
按键精灵是VB,上个世纪的编程语言。我帮不了你。但是我可以用python写出这个脚本。运行环境是kmbox键鼠宏转换器:代码如下:
one=km.getint('1')#设置1键键值
two=km.getint('2')#设置2键简直
one_step=0 #1键控制状态
two_step=0 #2键控制状态
km.rgb(0,1000,0) #led变绿 标志此时为正常状态,
while 1:
#1键控制d的逻辑
if km.isdown(one)==1 and one_step==0:#1键第一次按下
one_step=1 #状态1
km.down('d') #D键按下、
elif km.isdown(one)==0 and one_step==1:#1键第一次弹起
one_step=2 #状态2
elif km.isdown(one)==1 and one_step==2:#1键第二次按下
km.up('d') #D弹起
elif km.isdown(one)==0 and one_step==3:#1键第二次弹起
one_step=0 #状态0 等待下一次按下1
#2键控制f的逻辑
if km.isdown(two)==1 and two_step==0:#1键第一次按下
two_step=1 #状态1
km.down('f') #f键按
elif km.isdown(two)==0 and two_step==1:#1键第一次弹起
two_step=2 #状态2
elif km.isdown(two)==1 and two_step==2:#1键第二次按下
km.up('f') #f弹起
elif km.isdown(two)==0 andtwo_step==3:#1键第二次弹起
two_step=0 #状态0 等待下一次按下1
#1 2同时按下时逻辑
if km.isdown(two)==1 and km.isdown(one)==1:#1,2同时按下
km.down('d')
km.down('f')
具体效果你可以看一下这个参考代码解析