V2 Released

157 views
Skip to first unread message

mh

unread,
Apr 11, 2008, 3:13:29 PM4/11/08
to csEXWB
Hi,

I have uploaded a stable version of the 2.0. Please make sure to read
the ChangeLog.txt. As many changes have been implemented in regard to
protocol handlers and other functionalities. For example, now the
protocol handlers are activated by default (StartHTTPAPP,
StopHTTPAPP,... methods have been removed), AppControl demo project
has been modified, etc.

Download page:
http://code.google.com/p/csexwb2/downloads/list

Note:
For a while I have been attempting to find an effecient way of
monitoring a page changes via scripts (AJAX,...) after top level
document has loaded. This meant finding out when a script has started
execution and when it stops. Although it is possible to acheive this
by using protocol handler Begintransaction and Onresponse events, it
is not a full proof method. Finally, I have come to the conclution
that in order to acheive this functionality, one needs to act as a
passthrough in regard to the script engine. And to get to the script
engine, one needs to obtain the instance of IActiveScript interface
from webbrowser control.

I have tried to obtain the instance of IActiveScript interface from
webbrowser control to no avail. I did try queryinterface webbrowser
control IUnknown, Queryservice webbrowser control service provider,
and simillar actions in regard to the document object. I even posted a
message in MS news groups. So, if anyone can find out how to get
instance of IActiveScript interface, then we can setup a passthrough
to monitor script engine activities.

Regards,

MH

Bogey

unread,
Apr 14, 2008, 5:18:12 PM4/14/08
to csEXWB
Troubles building ComUtilities using VS 2008...

1>------ Build started: Project: ComUtilities, Configuration: Debug
Win32 ------
1>Creating Type Library...
1>Processing .\ComUtilities.idl
1>ComUtilities.idl
1>Processing C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include
\oaidl.idl
...
1>Processing C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include
\urlmon.idl
1>urlmon.idl
1>Processing C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include
\msxml.idl
1>msxml.idl
1>.\ComUtilities.idl(45) : error MIDL2003 : redefinition : IUri

... (lot's of error MIDL2003 : redefinition : xxx)

1>.\ComUtilities.idl(250) : error MIDL2003 : redefinition :
IInternetProtocolEx
1>.\ComUtilities.idl(435) : warning MIDL2214 : semantic check
incomplete due to previous errors
1>Build Time 0:01

and so on.

This is on Windows XP, with VS 2008 and the Windows SDK (v6.0a)
installed (which is the where most of this stuff is already defined -
in UrlMon.H).

So, in order to build successfully on my machine (XP, SP2 - Visual
Studio 2008, Windows SDK v6.0a) I defined _WIN32_IE = 0x0700 in the
preprocessor directives for ComUtilities.DLL. I also removed the IDL
references to IUri and IInternetProtocolEx since they are now defined
in UrlMon.h

Bogey.

Bogey

unread,
Apr 14, 2008, 6:04:18 PM4/14/08
to csEXWB
I should note of course that the _WIN32_IE flag is documented in the
stdafx.h header - but who ever reads the comments anyway :-)

Bogey.

mh

unread,
Apr 15, 2008, 6:18:07 AM4/15/08
to csEXWB
Thank you Bogey. I should have included this information but as usual
too much to remember!

Some explanation as why the IUri and IInternetProtocolEx were defined
in idl:

The UrlMon.h file shipped with VS2005 SDK does not include the
mentioned interfaces I had two options, download the latest SDK or
simply include the new interfaces in the idl file. I chose the latter
as I did not want to force the developers using this control to bother
downloading and installing latest SDK for only two interfaces (I had
some rather not very kind remarks in the past - not related to this
control).

Regards,

MH
Reply all
Reply to author
Forward
0 new messages