By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,428 Members | 1,340 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,428 IT Pros & Developers. It's quick & easy.

Hooking windowsmessages with python

P: n/a

Hi!

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!

Nov 20 '08 #1
Share this Question
Share on Google+
4 Replies


P: n/a
On Nov 20, 3:52*am, Kevin Osthoff <icepic1...@gmx.dewrote:
Hi!

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!
I've done some hooks in C. If no one has a simpler way, I can help
you build a DLL to do it, and call it from Python.
Nov 20 '08 #2

P: n/a
On Nov 20, 3:52*am, Kevin Osthoff <icepic1...@gmx.dewrote:
Hi!

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!
I recommend re-posting to the PyWin32 mailing list where the creators
of this package lurk. They'll probably be able to give you some
advice:

http://mail.python.org/mailman/listinfo/python-win32

Mike
Nov 20 '08 #3

P: n/a
Mike Driscoll schrieb:
I recommend re-posting to the PyWin32 mailing list where the creators
of this package lurk. They'll probably be able to give you some
advice:

http://mail.python.org/mailman/listinfo/python-win32
Ok. I will try this.
Mike
Nov 20 '08 #4

P: n/a
Aaron Brady wrote:
I've done some hooks in C. If no one has a simpler way, I can help
you build a DLL to do it, and call it from Python.
Thx for the offer but i will try to do it in python first. ;)
Nov 20 '08 #5

This discussion thread is closed

Replies have been disabled for this discussion.