We're now seeing a new issue that occurs on newer extremely high resolution screen laptops - this web browser control is rendering the pages in a way where they appear small and disproportional. Internet Explorer itself renders the pages just fine but similarly to the last question we posted this custom web control does not seem to be working as Internet Explorer does and manifests these rendering issues. Is there an update or a newer version of this wrapper code available that can help alleviate these issues?
We've been using this code for some time, and we've been experiencing general issues when IE11 is installed on a user's system, where certain websites either don't render correctly or don't function correctly. These same issues are typically not present in IE11 itself, and are only present in this custom web browser on a system that has IE11 installed. Is there a way to allow this custom control to behave like IE11 itself and have the redundancy that IE11 has for properly rendering web pages?
This is a control window drawing is completed in order to have to wait for it to operate, how you can not return the window drawing directly, for example:
private void TestURL(string url)
//Not loaded until the vesting
while (cEXWB1.ReadyState != IfacesEnumsStructsClasses.tagREADYSTATE.READYSTATE_COMPLETE)
//Finished loading operation
if (cEXWB1.ReadyState == IfacesEnumsStructsClasses.tagREADYSTATE.READYSTATE_COMPLETE)
string document = cEXWB1.DocumentSource;
Thanks for the great code example here.
I am attempting to automate a series of steps which results in a file (csv) being downloaded.
I have got to the point where I can login and enter various parameters using the document completed event.
However there is a button I invoke which runs anohter PHP script which and then downloads a file.
When I invoke the button, the File Download dialog comes up to save the CSV file.
I do not have a URL to the file download.
Is there a way I can trap this event and automate the download to a specified location?
Wow! Very impressive work - I've been looking for something like this for a while and it was like a dream came trough when I found it. I will be using the control, more or less as is in a commercial application within a totally different field.
I also like the demo app which I will have a look at and probably use as a model for my own main application (in which the control will reside).
Thank you so much for sharing this wonderful control and demo app.
I am facing an rendering issue. In my app a background thread dowing its work after its completion i have to open a dialog, Also at the same time browser is loading.
Some time a situation occurs where backgroung thread completion and browser navigation occurs at same time. Focus is moved to the dialog open after thread completion. Behind the same browser is loaded but with white screen. This is the only time when issue can be reproduce, otherwise if works great.
After closing the dialog, if you move the mouse over browser it starts rendering.
Browser navigation completed event is properly occurs without any error. Please help how to solve this.
I am developing an MFC/C++ application and find that web browser controls keeps stealing the focus from other windows. I downloaded this sample app and changed IProtectFocus.AllowFocusChange so it always sets pfAllow to "false", however I am still seeing the same problem with this sample app. To recreate this behavior, create a simple web page that has the auto-refresh flag set in its head section, like this:
<meta http-equiv="refresh" content="10" />
Is it possible to prevent the web browser from stealing the input focus every time the page, or an element inside the page, refreshes?
Hi, your code is amazing.
I was wondering to know how can I block downloading of specific images or js files
there is a downloadbegin event but it dose not clear which file will be download and you have filter images but I couldn't find where you found it.
In simple way, I want to know when and which file being downloading and cancel it if I want.
I'm attempting to attach an event to a RadioButton in order to be notified when the "checked" property has been changed. I've been successful at doing this with Text Input Boxes & Select Boxes (for focus & blur) using the following:
HTMLInputTextElementEvents _html_input_text_element_events = new HTMLInputTextElementEvents();
HTMLSelectElementEvents _html_select_element_events = new HTMLSelectElementEvents();
if (element is mshtml.IHTMLInputElement)
_html_input_text_element_events.elemonfocus += new HTMLInputTextElementEventHandler(_html_input_text_element_events_elemonfocus);
_html_input_text_element_events.elemonblur += new HTMLInputTextElementEventHandler(_html_input_text_element_events_elemonblur);
bool connect = _html_input_text_element_events.ConnectToHtmlElementEvents(element );
elseif (element is mshtml.IHTMLSelectElement)
_html_select_element_events.selectonfocus += new HTMLSelectElementEventHandler(_html_select_element_events_selectonfocus);
_html_select_element_events.selectonblur += new HTMLSelectElementEventHandler(_html_select_element_events_selectonblur);
bool connect = _html_select_element_events.ConnectToHtmlSelectElementEvents(element );
When I attempt to do the same with a Radio Button (I've tried with HTMLElementEvents, HTMLInputTextElementEvents, and HTMLSelectElementEvents) like so:
HTMLElementEvents hee = new HTMLElementEvents();
hee.elemonclick += new HTMLElementEventHandler(hee_elemonactivate);
Do I need to cast as something else? Is this possible?
Is there a way to retrieve the selected element. I'm new to mshtml interop and have a need to retrieve the selected element(s), if any. Also, how do you discern (programmatically) if any elements are selected? I've found the iSelectionServices interface but am unclear how to proceed. HTMLEditHelper does not appear to wrap or provide this functionality. Thx.