[python-win32] PumpMessages in main thread called by embedded Python causes crash
reckoner at gmail.com
Mon Apr 30 02:49:57 CEST 2012
On 4/29/2012 3:48 PM, Mark Hammond wrote:
> On 30/04/2012 1:07 AM, reckoner wrote:
>> Thanks for your reply.
>> Yes, the app works fine if I don't PumpMessages in my own code. There is
>> no console that the application fires up when it runs the embedded
>> Python code. In this situation, how do I (or, can I?) pump for my own
>> messages if the application is doing some other kind of event loop, as
>> you describe?
> The event loop isn't generally where you handle messages - messages are
> generally handled in a WndProc or similar (ie, by using something like
> win32gui and its message handling support). You might also want to look
> into hooking messages (pythonwin has some support for that, and another
> package called PyHook might also help).
Yes, I use PyHook on another project, but here I need to hook more than
mouse and keyboard messages. I need window-open/close, etc. According to
this is not possible directly and I have been successful using the pyAA
(Microsoft Active Accessibility) bindings to catch these other messages,
and this works beautifully otherwise, except for this case where the
embedded application (not a GUI, BTW) will not let me pump messages to
flush out the events that pyAA can catch.
Any other ideas? The only other idea I have is to create a separate
Python process that will listen for specific messages using pyAA and
then return output on a socket that the application's embedded Python
can later query.
Thanks again. (I read your great book by the way!)
More information about the python-win32