Hooking windowsmessages with python

Kevin Osthoff icepic1984 at gmx.de
Thu Nov 20 10:52:55 CET 2008


I'm trying to set a message hook with python to catch WM_DROPFILES.
The guiframework is Tkinter.
Here a code snippet:

> hwnd = eval(self.wm_frame()) 
> win32gui.DragAcceptFiles(hwnd,1) 
> wnd = win32ui.CreateWindowFromHandle(hwnd)
> wnd.HookMessage(self.test,w32con.WM_DROPFILES)

> def test(self):
>    print "blala"

The DragAcceptFiles-Call seems to be alright. When i drag a file over
the gui there is this drag-and-drop icon. But the problem is, that the 
callback-function (test) is never executed.
I also try different messages like Mousemove or Buttondown. So i think
there is a problem with the HookMessage function.
I read that you must compile Python with PYWIN_WITH_WINDOWPROC option
enabled. Is this the problem?

Can someone give me a short working code to hook a message so i can try
it on my workstation?

Thx in advance!

More information about the Python-list mailing list