国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

用Python監(jiān)聽鄰居家小姐姐的上網(wǎng)行為

pcChao / 2664人閱讀

摘要:包含控制和監(jiān)控鍵盤的類。要使用上面的子包,從中引入即可。接下來就跟著小胖一起來看下如何玩轉(zhuǎn)鼠標(biāo)和鍵盤吧。調(diào)用,發(fā)起異常,或者回調(diào)函數(shù)中返回都會停止事件的監(jiān)聽。傳遞給回調(diào)函數(shù)的參數(shù)是一個(gè)類的實(shí)例。


關(guān)注公眾號:「Python專欄」,后臺回復(fù)「小姐姐」,獲取全套代碼!!!

還記得曾經(jīng)為了刷大話西游而下載了按鍵精靈,然后論壇上搜了各種分辨率的腳本么?

還記得春節(jié)為了刷回家的高鐵票,自己寫了按鍵精靈的腳本么?

現(xiàn)在python有一個(gè)神奇的庫,我們不用再去模擬復(fù)雜的按鍵精靈了!監(jiān)控鼠標(biāo)、鍵盤,甚至是……

pynput這個(gè)庫讓你可以控制和監(jiān)控輸入設(shè)備。

對于每一種輸入設(shè)備,它包含一個(gè)子包來控制和監(jiān)控該種輸入設(shè)備:

pynput.mouse:包含控制和監(jiān)控鼠標(biāo)或者觸摸板的類。

pynput.keyboard:包含控制和監(jiān)控鍵盤的類。

上面提到的子包都已被引入到pynput庫中。要使用上面的子包,從pynput中引入即可。

from pynput import mouse, keyboard

接下來就跟著小胖一起來看下如何玩轉(zhuǎn)鼠標(biāo)和鍵盤吧。

1. 控制鼠標(biāo)

使用pynput.mouse控制鼠標(biāo)

from pynput.mouse import Controller, Button

mouse = Controller()

# 獲取當(dāng)前鼠標(biāo)位置
print(f"當(dāng)前小胖的鼠標(biāo)位置是: {mouse.position}")

# 設(shè)置鼠標(biāo)位置
mouse.position = (10, 20)
print(f"現(xiàn)在小胖把鼠標(biāo)移動(dòng)到 {mouse.position}")

# 使用相對距離,移動(dòng)當(dāng)前鼠標(biāo)
mouse.move(5, -5)

# 按下鼠標(biāo)左鍵,釋放鼠標(biāo)左鍵
mouse.press(Button.left)
mouse.release(Button.left)

# 向下滾動(dòng)2格
mouse.scroll(0, 2)

效果如圖

2. 監(jiān)控鼠標(biāo)事件

使用pynput.mouse.Listener監(jiān)控鼠標(biāo)事件

from pynput import mouse

def on_move(x, y):
   print(f"鼠標(biāo)移動(dòng)到坐標(biāo) {(x, y)}")

def on_click(x, y, button, pressed):
   print(f"{"按下" if pressed else "釋放"} ,當(dāng)前位置是: {(x, y)}")
   if not pressed:
       # 停止監(jiān)聽
       return False

def on_scroll(x, y, dx, dy):
   print(f"滑動(dòng)鼠標(biāo), {"向下" if dy < 0 else "向上"} at {(x, y)}")

# 一直監(jiān)聽事件,直到鼠標(biāo)釋放
with mouse.Listener(
       on_move=on_move,
       on_click=on_click,
       on_scroll=on_scroll) as listener:
   listener.join()

效果如圖


鼠標(biāo)事件監(jiān)聽器是一個(gè)線程,所有的回調(diào)函數(shù)都會在獨(dú)立的線程中運(yùn)行。

調(diào)用pynput.mouse.Listener.stop,發(fā)起StopException異常,或者回調(diào)函數(shù)中返回False都會停止事件的監(jiān)聽。

3. 控制鍵盤

使用pynput.keyboard.Controller控制鍵盤

from pynput.keyboard import Key, Controller

keyboard = Controller()

# 按下并釋放空格
keyboard.press(Key.space)
keyboard.release(Key.space)

# 按下并釋放小寫字母a
keyboard.press("a")
keyboard.release("a")

# 2種方式輸入大寫A
keyboard.press("A")
keyboard.release("A")
with keyboard.pressed(Key.shift):
   keyboard.press("a")
   keyboard.release("a")

# 直接操作鍵盤輸入Hello World
keyboard.type("Hello World")
4. 監(jiān)控鍵盤事件

使用pynput.keyboard.Listener監(jiān)聽鍵盤事件

from pynput import keyboard

def on_press(key):
   try:
       print(f"字母 {key.char} 被按下了")
   except AttributeError:
       print(f"特殊的鍵 {key} 被按下了")

def on_release(key):
   print(f"{key} 被釋放了")
   if key == keyboard.Key.esc:
       # 停止監(jiān)聽
       return False

# 一直監(jiān)聽鍵盤事件,直到停止
with keyboard.Listener(
       on_press=on_press,
       on_release=on_release) as listener:
   listener.join()

鍵盤事件監(jiān)聽器是一個(gè)線程,所有的回調(diào)函數(shù)都會在獨(dú)立的線程中運(yùn)行。

調(diào)用pynput.keyboard.Listener.stop,發(fā)起StopException異常,或者回調(diào)函數(shù)中返回False都會停止事件的監(jiān)聽。

傳遞給回調(diào)函數(shù)的key參數(shù)是一個(gè)pynput.keyboard.Key類的實(shí)例。當(dāng)特殊按鍵和普通按鍵一起按下時(shí),數(shù)字字母按鍵的值會被放置在pynput.keyboard.KeyCode類的實(shí)例中,對于不知道的按鍵會返回None。

接下來就是發(fā)揮你們能力的時(shí)候了,說不定寫個(gè)腳本,用exe包裝一下,命名為種子收發(fā)器?哈哈哈哈,然后就可以監(jiān)聽起來了?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/43365.html

相關(guān)文章

  • Python把小姐姐windows密碼改一改?

    摘要:我們來用實(shí)現(xiàn)一個(gè)修改開機(jī)密碼的小程序。的邏輯不復(fù)雜,核心代碼就一句話,通過模塊調(diào)用的,來達(dá)到修改密碼。控制,并修改密碼那么就是你想要修改的用戶名,一般有兩種操作,一種是直接修改他的,一種就是修改他現(xiàn)有的用戶。等待用戶雙擊即可。 showImg(https://img-blog.csdnimg.cn/20190302193115788.png?x-oss-process=image/wa...

    voyagelab 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<