オートクリッカーとは何ですか?
オート クリッカーは、コード スクリプトが記述されており、そのコードに基づいて、ユーザーが定義したキーが押されると、マウスが自動的にクリックされるプログラムです。 Python では、pip コマンドでインストールできる pynput モジュールを使用してオート クリッカー プロジェクトを作成できます。
オート クリッカー コードは次のステップに分割できます。
1. 必要なモジュールのインポート
時間とスレッドのモジュールをインポートし、pynput のマウス サブモジュールからボタンとコントローラー モジュールをインポートします。同様に、pynput のキーボード サブモジュールから Listener モジュールと Keycode モジュールをインポートします。
例:
import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode
2. 変数の初期化
このセクションでは、プログラムの実行に非常に役立つ 4 つの変数を初期化します。
例:
buttonDirection= Button.right delayTime= 0.001 startStopButton = KeyCode(char='s') terminateButton= KeyCode(char='x')
3. クラスの作成
ここでは、マウスクリックが行われたかどうかを確認するスレッドクラスを拡張したクラスを作成します。
例:
class ClickTheMouse(threading.Thread): def __init__(self, delayTime, buttonDirection): super(ClickTheMouse, self).__init__() self.delayTime = delayTime self.buttonDirection = buttonDirection self.running = False self.program_running = True
4. このセクションでは、外部のスレッドを使用してマウス クリックを制御するいくつかのメソッドを定義します。
例:
def startMouseClick(self): self.running = True def stopMouseClick(self): self.running = False def exitScript(self): self.stopMouseClick() self.program_running = False
5. このセクションでは、2 つのネストされたループを使用して完全なコードを実行するメソッドを定義しました。これらのループは、変数が false に設定されると終了します。そうでない場合は、プログラムを継続し続けることになります。
例:
def run(self): while self.program_running: while self.running: mouse.click(self.buttonDirection) time.sleep(self.delayTime) time.sleep(0.1)
6. このセクションでは、マウスクリック用のスレッドを作成し、スレッドを開始します。
例:
mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start()
7。 キーボードクリックの関数を定義する最後のセクションです。いずれかのキーが押されると、そのキーがこの関数の引数として渡され、さまざまなケースでチェックされます。
startStop キーの場合、プログラムが開始または停止されます。終了キーの場合、プログラムは終了します。
例:
def on_press(key): if key == startStopButton: if clickThread.running: clickThread.stopMouseclick() else: clickThread.startMouseclick() elif key == terminateButton: clickThread.exitScript() listener.stop() with Listener(on_press=on_press) as listener: listener.join()
完全な例:
import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode delayTime = 0.001 buttonDirection = Button.right startStopButton = KeyCode(char='s') terminateButton = KeyCode(char='x') class ClickTheMouse(threading.Thread): def __init__(self, delayTime, buttonDirection): super(ClickTheMouse, self).__init__() self.delayTime = delayTime self.buttonDirection = buttonDirection self.running = False self.program_running = True def startMouseclick(self): self.running = True def stopMouseClick(self): self.running = False def exitScript(self): self.stopMouseClick() self.program_running = False def run(self): while self.program_running: while self.running: mouse.click(self.buttonDirection) time.sleep(self.delayTime) time.sleep(0.1) mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start() def on_press(key): if key == startStopButton: if clickThread.running: clickThread.stopMouseClick() else: clickThread.startMouseclick() elif key == terminateButton: clickThread.exitScript() listener.stop() with Listener(on_press=on_press) as listener: listener.join()
説明:
上記のコードでは、開始キーと停止キーを「s」として初期化し、終了キーを「x」として初期化しました。 Python スクリプトを実行し、「s」を入力すると、画面上でマウスを移動するたびに、0.001 秒または 1 ミリ秒の遅延で自動的に右クリックされます。
アメリカの都市の名前
セクション 2 ではマウス クリックの機能を変更できます。ここでは、Button.left または Button.center 属性を使用してマウスのクリック方向を変更できます。
マウスのクリックを簡単に確認したい場合は、delayTime をより高い値に変更して実際のクリックを確認できます。このコードでは、画面上でマウス カーソルを動かさないと、クリックされません。画面上でカーソルを移動した場合にのみ機能します。