<div style=""><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;">Thanks for reply!</div><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;">My code is well formated at https://stackoverflow.com/questions/55399565/hook-the-left-mouse-button-down-event-on-any-window</div><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;">or the following :</div><div style=""><div style=""><br></div><div style=""><em>import win32gui</em></div><div style=""><em>import win32ui</em></div><div style=""><em>import win32con</em></div><div style=""><br></div><div style=""><em>def onMousePressed(self):</em></div><div style=""><em>    print('onMousePressed', win32gui.GetCursorPos())</em></div><div style=""><br></div><div style=""><em>def listener():</em></div><div style=""><em>    windowHandle = win32gui.WindowFromPoint(win32gui.GetCursorPos())</em></div><div style=""><em>    clickedWindow = win32ui.CreateWindowFromHandle(windowHandle)</em></div><div style=""><em>    clickedWindow.HookMessage(onMousePressed, win32con.WM_LBUTTONDOWN)</em></div><div style=""><em>    # print('-------------registerMouseEvent', clickedWindow)</em></div><div style=""><br></div><div style=""><em>while True:</em></div><div style=""><em>    listener()</em></div><div style=""><em>    time.sleep(8)</em></div></div><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;">what is wrong and what's the good practice ?  Thanks so much !</div><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: arial; font-size: 14px;"><br></div></div><!-- jy5ContentSuffix --><div>在2019年03月30 03时35分, "Tim Roberts"<timr@probo.com>写道:</div><blockquote id="isReplyContent" style="padding-left:1ex; margin: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>Zhao Lee wrote:<br>> I originally posted the question here <br>> <https://stackoverflow.com/questions/55399565/hook-the-left-mouse-button-down-event-on-any-window>, <br>> please help ,thank you !<br>><br>><br>> I want to hook the left mouse button down event on any window, my code <br>> as following :<br>> |importwin32guiimportwin32uiimportwin32condefonMousePressed(self):print('onMousePressed',win32gui.GetCursorPos())deflistener():  <br>>  windowHandle =win32gui.WindowFromPoint(win32gui.GetCursorPos())  <br>>  clickedWindow =win32ui.CreateWindowFromHandle(windowHandle)  <br>>  clickedWindow.HookMessage(onMousePressed,win32con.WM_LBUTTONDOWN)# <br>> print('-------------registerMouseEvent', clickedWindow)whileTrue:  <br>>  listener()|<br>><br>> However , the |onMousePressed| function was never called when clicked, <br>> what is wrong ?<br>><br>> P.S. I know some similar projects such as PyUserInput <br>> <https://github.com/PyUserInput/PyUserInput>, mouse <br>> <https://github.com/boppreh/mouse>, pynput <br>> <https://pythonhosted.org/pynput/keyboard.html#monitoring-the-keyboard>, <br>> just want to know why my code didn't work.<br>><br>Your code came across badly formatted, so I can't tell exactly what you <br>wrote.  You aren't actually calling listener() from within a continuous, <br>tight CPU loop, are you?  This function is going to get called thousands <br>and thousands of times a second. This is very poor practice, and it's <br>part of the reason these other modules exist.<br><br>You attach to an external window, install your mouse message hook, then <br>your function exits, the window object is deleted, and the hook is released.<br><br>-- <br>Tim Roberts, timr@probo.com<br>Providenza & Boekelheide, Inc.<br><br><br></blockquote><br><br><span title="neteasefooter"><p> </p></span>