DCHTMLVIEWER is still using IE 7

This forum is for eXpress++ general support.
Post Reply
Message
Author
Andy Edward
Posts: 103
Joined: Fri Sep 17, 2010 2:58 am

DCHTMLVIEWER is still using IE 7

#1 Post by Andy Edward »

Hi Roger,

I've compared the behaviour of DCHTMLVIEWER with my IE Browser and it seems DCHTMLVIEWER is still using IE7 version.

My IE browser is IE 11

Any way to force DCHTMLVIEWER to use IE 11? or better yet to use another browser such as Chrome?

Best Regards,

Andy

User avatar
rdonnay
Site Admin
Posts: 4729
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: DCHTMLVIEWER is still using IE 7

#2 Post by rdonnay »

Andy,

I would not know how to change which ActiveX control is used by DCHTMLVIEWER.

This is because the underlying class is XbpHtmlViewer() and it uses the class id "Shell.Explorer".

If you can find the CLSID of the Web Browser you want to use, then I can show you how to use DCACTIVEXCONTROL in lieu of DCHTMLVIEWER.

Roger
The eXpress train is coming - and it has more cars.

Andy Edward
Posts: 103
Joined: Fri Sep 17, 2010 2:58 am

Re: DCHTMLVIEWER is still using IE 7

#3 Post by Andy Edward »

Hi Roger,

Thank you for the offer, but I don't know how to get the CLSID of a certain application.

For the moment, I've managed to stabilize everything even though the DCHTMLVIEWER behaviour is IE 7

Maybe I'll revisit this thread when I'm more familiar with how to get CLSID of an application.

Best Regards,

Andy

User avatar
PedroAlex
Posts: 231
Joined: Tue Feb 09, 2010 3:06 am

Re: DCHTMLVIEWER is still using IE 7

#4 Post by PedroAlex »

Andy.

Get the CLSID

regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\

Press F3
and search excel for exemple.

Pedro
Pedro Alexandre

User avatar
rdonnay
Site Admin
Posts: 4729
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: DCHTMLVIEWER is still using IE 7

#5 Post by rdonnay »

Try this:

Code: Select all

#INCLUDE "dcdialog.CH"

FUNCTION Main()

LOCAL GetList[0], oWebBrowser

@ 0,0 DCACTIVEXCONTROL oWebBrowser SIZE 800,600 PIXEL ;
      CLSID "Shell.Explorer.2" ;
      EVAL {|o|o:navigate('http://donnay-software.com')}

DCREAD GUI FIT TITLE 'IE Webbrowser Shell.Explorer2' 

RETURN Nil

* ----------

PROC appsys ; return

The eXpress train is coming - and it has more cars.

Andy Edward
Posts: 103
Joined: Fri Sep 17, 2010 2:58 am

Re: DCHTMLVIEWER is still using IE 7

#6 Post by Andy Edward »

I found the answer on how to change the default web browser's version in XBPHtmlViewer, in Alaska Forum

http://news.alaska-software.com/readmes ... 2B.activex

I've implemented the instruction in my application and it seems that it works.

UPDATE 6/11/2014: You don't need to restart the computer for the edit to work, just re-run your .exe application. I'm using Windows 7 32 bit.

Hope this helps someone.

Andy
Last edited by Andy Edward on Wed Nov 05, 2014 8:05 pm, edited 1 time in total.

User avatar
rdonnay
Site Admin
Posts: 4729
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: DCHTMLVIEWER is still using IE 7

#7 Post by rdonnay »

That's good news. I have posted the answer here:

The reason for this is that the OCX is pre-set (by MS) to be IE 7 or IE 8)
compatible. For the OCX to work the same as the installed IE browser, you
only need to set a single Windows Registry setting for each executable that
uses the OCX. I set this compatibility value to IE 10 on all versions of
Windows, no matter what version of IE is installed, and Google Maps (and
other web sites) now work everywhere in the embedded OCX.

You can check (and set) this registry value at the beginning of your
program, using Thomas Braun's Registry Class. Add (or Select) Registry Key:
"HKEY_LOCAL_MACHINE\Software\Microsoft\Internet
Explorer\Main\FeatureControl\Feature_Browser_Emulation"
Add (or Replace) Key Name: "YourExeName.exe" ==> Type: DWord with Value:
10001 (0x2711) (decimal/hex), to force IE 10 Emulation/Standards mode, if
IE 11 (or below) is installed)!

The above Registry Key will probably wrap at the included space character.
Replace "YourExeName.exe" with the name of your application's executable.

For more info, see:
http://msdn.microsoft.com/en-us/library ... s.85).aspx

Thanks to :

Andreas Gehrs-Pahl
Absolute Software, LLC

phone: (989) 723-9927
email: Andreas.GP@Charter.net
web: http://www.Aerospace-History.net
The eXpress train is coming - and it has more cars.

Post Reply