Feasibility: out-of-process automation server

Carlos Ribeiro cribeiro at mail.inet.com.br
Sat May 26 09:18:17 EDT 2001


At 12:09 25/05/01 -0400, Bill Bell wrote:
>I am working on an experimental system involving Internet Explorer
>(IE). What I would like to build is an automation server (that would
>expose an interface that would be accessible to an explorer bar
>running in IE). For reasons that would be obvious to anyone on this
>list I'd like to build it in Python!
>
>System features:
>
>- at most one copy of the server EXE to be running at any given
>instant
>- possibly more than one copy of IE
>- server GUI using wxPython (say)
>- since each copy of the explorer bar is being driven by the user I'm
>assuming that I needn't do anything very clever about concurrency
>
>Questions: Is this possible? Could you please suggest an example
>(preferably a simple one for a Python newbie)? Advice? Sources of
>ideas and concepts?

I'm thinking about this since about one month ago. However, I don't have 
any running code. For my first experiment I used Delphi, but I've not given 
up on doing everything in Python. There are two main strategies:

- Writing it from the scratch, preferably using the Win32 extensions 
instead of wxPython. I'm afraid that wxPython may do something at your back 
that makes things much harder. On the Win32 level you have to write low 
level stuff, but you get much more control over the results, which is badly 
needed in this case. The problem is that you have to implement *lots* of 
interfaces, and I dont have enough time/patience, not to mention the MS 
documentation to do it right now.

- Encapsulating (or 'decorating'/'automating') the MSHTML object, as 
suggested to me by Alex Martelli. The MSHTML control can be used as a 
intelligent canvas, that already works together with IE. Depending upon the 
level of user interaction this can be done without the need for lots of code.

If you manage to get something working, please let us know at least *how* 
did you make it; and if you can, why not share some code <wink>?

Good luck!


Carlos Ribeiro






More information about the Python-list mailing list