Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Microsoft web browser object and windows 10

937 views
Skip to first unread message

Graham

unread,
Nov 21, 2016, 4:44:23 AM11/21/16
to
Is anyone using the microsoft web browser object as a user interface in APL applications running on windows 10. If so I would welcome advice as to how to get the object to use the IE 11 that ships with windows 10. By default it uses IE 7 but can be made to use higher versions via the FEATURE_BROWSER_EMULATION registry key. This worked fine on windows 7 but fails on windows 10.

My current problem is that I have an APL app which uses the web browser object to display a set of analogue gauges running in real time. The underlying APL communicates with a web page hosted by the object via TCP/IP and websockets. The web page uses HTML5 and javascript to create and run the gauge graphics on the page.

If I run the app with the page running on a stand alone browser it works with Firefox, Chrome and IE11 on windows 7 and windows 10. I did however have to change one of IE11's security settings to get it to run on windows 10. When the page is running in the control it will run fine in windows 7 with the registry hack getting it to use IE11 but I cannot get it to run on windows 10. It reports that websockets are not supported by the browser. To me this is an indication that the browser object is still stuck in its default IE7 mode. I have tested the app from both APL+WIN and APLX with the same results.

Has anyone else come across this problem and more importantly found a solution they are willing to share.

Graham.

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

Stefano Lanzavecchia

unread,
Nov 21, 2016, 11:53:37 AM11/21/16
to
On Monday, 21 November 2016 10:44:23 UTC+1, Graham wrote:
> Is anyone using the microsoft web browser object as a user interface in APL applications running on windows 10. If so I would welcome advice as to how to get the object to use the IE 11 that ships with windows 10. By default it uses IE 7 but can be made to use higher versions via the FEATURE_BROWSER_EMULATION registry key. This worked fine on windows 7 but fails on windows 10.

I've had a similar problem (though not yet with Windows 10) and the solution I adopted, which worked perfectly, was to set the X-UA-Compatible setting. The setting can be specified both as a meta tag inside the HTML page and as an HTTP Header. Since I had full control on the web server, my preferred solution was to instruct the web server to include an X-UA-Compatible header in every reply.

You can find more information here: https://goo.gl/YXFQOg
Practical example of usage as a meta tag: https://goo.gl/mRn4qs


Hope it helps,
--
Stefano

Graham

unread,
Nov 21, 2016, 12:35:08 PM11/21/16
to

"Stefano Lanzavecchia" <stefano.la...@gmail.com> wrote in message news:8690eaf1-8f3c-4fb3...@googlegroups.com...
Thanks Stefano. I tried that approach early on setting IE=edge in the hope that it would select the highest available version as the spec you referred to suggests. That was before I found that to get the page to work IE11 at all when running the app on my local machine I had to disable one of the intranet security settings. What I should have done is try that method again after I had got IE11 to work. Since posting I have found someone else out there with this problem and they recommended a few more registry hacks to adjust the behaviour of the web browser control to more closely match that of IE11. These can be found at :

http://stackoverflow.com/questions/18333459/c-sharp-webbrowser-ajax-call/18333982#18333982

I used the subset one gets by following the Updated link and it now works perfectly including websockets. I set the registry browser emulation key to 11000 for IE11. Previously setting it to zero on windows 7 gave me the latest IE equivalent. I might revert back sometime just in case things change again. It appears that Microsoft intended to make available an Edge version of the control but I cannot find any info on it so far.

Thanks again for the reply.

Stefano Lanzavecchia

unread,
Nov 22, 2016, 9:24:55 AM11/22/16
to
On Monday, 21 November 2016 18:35:08 UTC+1, Graham wrote:
> It appears that Microsoft intended to make available an Edge version of the control but I cannot find any info on it so far.

Having Microsoft Edge as an OCX control would be great. But at the moment tight-lipped Microsoft only says: "Does the WebBrowser control work with Microsoft Edge? - In Windows 10 the WebBrowser control will use Internet Explorer’s legacy rendering engine, mshtml.dll. At this time EdgeHTML is not available through the WebBrowser control." (https://developer.microsoft.com/en-us/microsoft-edge/platform/faq/)
It does not say "and it will never be". But that is not much comfort :-)
--
Stefano

Graham

unread,
Nov 22, 2016, 11:05:04 AM11/22/16
to

"Stefano Lanzavecchia" <stefano.la...@gmail.com> wrote in message news:8cb02133-48da-4225...@googlegroups.com...
Thanks for that info. I guess we should not hold our breath but I will check that link periodically just in case!!!!

Graham

unread,
Nov 24, 2016, 4:21:40 PM11/24/16
to

"Graham" <h2gt2g42-mi...@yahoo.co.uk> wrote in message news:o11qbe$jav$1...@gioia.aioe.org...

"Stefano Lanzavecchia" <stefano.la...@gmail.com> wrote in message news:8cb02133-48da-4225...@googlegroups.com...
On Monday, 21 November 2016 18:35:08 UTC+1, Graham wrote:
> It appears that Microsoft intended to make available an Edge version of the control but I cannot find any info on it so far.

Having Microsoft Edge as an OCX control would be great. But at the moment tight-lipped Microsoft only says: "Does the WebBrowser control work with Microsoft Edge? - In Windows 10 the WebBrowser control will use Internet Explorer’s legacy rendering engine, mshtml.dll. At this time EdgeHTML is not available through the WebBrowser control." (https://developer.microsoft.com/en-us/microsoft-edge/platform/faq/)
It does not say "and it will never be". But that is not much comfort :-)
--
Stefano

Thanks for that info. I guess we should not hold our breath but I will check that link periodically just in case!!!!

Graham.

Follow up. Following your earlier post Stafano I removed all the registry hacks and found that having relaxed the intranet security setting in IE11 then either html:

<meta http-equiv="x-ua-compatible" content="IE=edge">

or registry key:

FEATURE_BROWSER_EMULATION set to zero

enables websockets in the web browser control in Windows 10.
0 new messages