question on how to do language bindings to MSHTML's COM interface

Rob Shearman robertshearman at gmail.com
Fri Jan 2 15:17:51 CST 2009


2009/1/1 Luke Kenneth Casson Leighton <lkcl at lkcl.net>:
> folks, hi,
> i have a rather intriguing issue i'd like to look at, which takes
> quite a bit of explaining as to why i'd like to go about it - if
> people are interested i can answer that, but for now i'll leave it at
> this:
> how, under linux, would i go about making an application that made
> _use_ of MSHTML.DLL's functionality, via its COM / DCE/RPC / MSRPC
> interface?
> in other words, if you are familiar with gecko / XUL, how would i go
> about making a gecko / XUL style of application, using MSHTML as the
> basis, and, once that was achieved, would it stand a chance of
> successfully running under vanilla windows, using MS's own version of
> MSHTML?

There are a number of parts to your question:
1. Is it OK for the application to be a winelib one (i.e. invoked via
or linked to wine, rather than being "native")?
2. What language are you writing the application in?
3. Pretty much all interaction with mshtml happens through COM
interfaces, so which interfaces are you interested in?

> yes i _am_ fully aware that, underneath, according to the wiki page on
> mshtml's implementation, mshtml underneath uses Gecko - but i don't
> _want_ to use the Gecko / XUL interface (mostly because it already
> exists!  i don't like challenges that have already been done :)
> specifically, i'd _really_ like to have python bindings to the COM
> bindings to MSHTML - all under linux.
> so there are some _really_ weird esoteric "sub-questions" involved, such as:
> "what are the chances of porting pywin32 - specifically pywin32's COM
> bindings - to linux, thanks to widl and friends"?
> see http://sourceforge.net/projects/pywin32
> many thanks for any advice and information.

We already build a typelib for mshtml using widl and pywin32 can use
that to make bindings for use at runtime, so it "should" work, but I
fail to see the need for it at the moment.

At some point I'd like to see a Python output generator for widl so
that it can directly generate Python code that will communicate to a
remote process using DCE/RPC, but that comes second place to getting
the C generator as close to perfect as possible at the moment.

-- 
Rob Shearman



More information about the wine-devel mailing list