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')
具體效果你可以看一下這個參考代碼解析