Wednesday, December 13, 2023

利用 pynput 和 ctypes 监控鼠标右键点击,获取被点击的窗口句柄

from pynput import mouse

import ctypes


class MouseListener:

    def __init__(self):

        self.hwnd = None

        self.listener = mouse.Listener(on_click=self.on_click)


    def on_click(self, x, y, button, pressed):

        if button == mouse.Button.right and pressed:

            self.hwnd = ctypes.windll.user32.GetForegroundWindow()

            # Stop the listener

            return False


    def start(self):

        self.listener.start()

        self.listener.join()  # Block until the listener is stopped


# Usage:

listener = MouseListener()

listener.start()

print(f'Window handle: {listener.hwnd}')

No comments: