由於前一篇文章发文後才发现还没写完 ....
逆推使用者意图,就是要搭配监控才会更完整,这篇将介绍如何快速做出监控键盘及滑鼠的范例;後续的文章会推出实战专题来搭配GUI上的相关变化应用。
实作开始:
pip3 install pynput
In [5]: from pynput.mouse import Button, Controller
In [6]: mouse = Controller()
In [7]: # 获得目前滑鼠座标
In [8]: print(f"current Mouse Position: {mouse.position}")
Out[8]: current Mouse Position: (1027, 440)
[实战] 监控滑鼠座标
使用pynput 监控目前的滑鼠是如何被操作的, 时间自订
# mouse monitoring
from pynput.mouse import Listener
import time, sys
def moveTo(x, y):
print(f"moveTo: ({x}, {y})")
def click(x, y, button, is_press):
print(f"Mouse button: {button} in ({x}, {y}) {'press' if is_press else 'release'}")
def scroll(x1, y1, x2, y2):
if x2:
print(f"scroll from ({x1}, {y1}) into { 'right' if x2 > 0 else 'left'}")
else:
print(f"scroll from ({x1}, {y1}) into { 'buttom' if y2 > 0 else 'upper'}")
def main(duration):
listener = Listener(
on_move=moveTo,
on_click=click,
on_scroll=scroll)
print("Test Start")
listener.start()
time.sleep(duration)
listener.stop()
print("Test Finish")
if __name__ == '__main__':
timer = int(sys.argv[1])
main(timer)
效果如下
[实战] 监控键盘事件
使用listener 的方式去监控键盘事件,监控时间一样是自订
from pynput.keyboard import Key, Listener
import time, sys
def on_press(key):
print(f"Press: {key.char if hasattr(key, 'char') else key.name}")
def on_release(key):
print(f"release: {key.char if hasattr(key, 'char') else key.name}")
def main(duration):
global listener
listener = Listener(on_press=on_press, on_release=on_release)
print("Test Start")
listener.start()
time.sleep(5)
listener.stop()
print("Test End")
if __name__ == '__main__':
timer = int(sys.argv[1])
main(timer)
效果如下
结论:
使用这个模组就可以轻松达到监控滑鼠及键盘的行为,同时也可以记录在档案中,供後续查验使用
参考资料:
天亮了 昨晚是平安夜 关於迷雾森林故事 香水 在场本来许多animal们牵着喜鹊儿的翅膀小手跳舞 都...
前言 使用numpy及matplotlib函式库实作直方图。 程序 import numpy as ...
打了这麽多的技术文,突然发现我好像都没有介绍到资安的基础,所以最後的这 3 篇文章可能就是做个资安的...
Angular产生的档案实在太多辣,我们先专注在以下三个档案: app.component.css ...
因为我是用控制high、low,我接下来就贴上部分程序来个别说明,首先要先写上基本时序的规范,协议的...