|
|
Comments and Discussions
|
|
 |

|
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)
{
cEXWB1.Navigate(url);
//Not loaded until the vesting
while (cEXWB1.ReadyState != IfacesEnumsStructsClasses.tagREADYSTATE.READYSTATE_COMPLETE)
{
Thread.Sleep(50);
}
//Finished loading operation
if (cEXWB1.ReadyState == IfacesEnumsStructsClasses.tagREADYSTATE.READYSTATE_COMPLETE)
{
string document = cEXWB1.DocumentSource;
}
}
|
|
|
|

|
If I understood your question right, you want the event when the page has finished loading. You should use the DocumentComplete method for that.
|
|
|
|

|
I am developing the application using 2010 VB.net , Windows 8, and IE10
Has anyone worked with this wrapper in this environment?
Thank you
Joe Guzman
|
|
|
|

|
how to fetch response content form asp.net ajax control .
prafull
|
|
|
|

|
when add cEXWB control,running in here Error occurred.What is wrong?
private void InitializeComponent()
{
this.cEXWB1 = new csExWB.cEXWB();
this.cEXWB1.Border3DEnabled = false;
this.cEXWB1.DocumentSource = "<HTML><HEAD></HEAD>\r\n<BODY></BODY></HTML>";
this.cEXWB1.DocumentTitle = "";
this.cEXWB1.DownloadActiveX = true;
this.cEXWB1.DownloadFrames = true;
this.cEXWB1.DownloadImages = true;
this.cEXWB1.DownloadJava = true;
this.cEXWB1.DownloadScripts = true;
this.cEXWB1.DownloadSounds = true;
this.cEXWB1.DownloadVideo = true;
this.cEXWB1.FileDownloadDirectory = "C:\\Users\\chenzhuo\\Documents\\";
this.cEXWB1.Location = new System.Drawing.Point(772, 311);
this.cEXWB1.LocationUrl = "about:blank";
this.cEXWB1.Name = "cEXWB1";
this.cEXWB1.ObjectForScripting = null;
this.cEXWB1.OffLine = false;
this.cEXWB1.RegisterAsBrowser = false;
this.cEXWB1.RegisterAsDropTarget = false;
this.cEXWB1.RegisterForInternalDragDrop = true;
this.cEXWB1.ScrollBarsEnabled = true;
this.cEXWB1.SendSourceOnDocumentCompleteWBEx = false;
this.cEXWB1.Silent = false;
this.cEXWB1.Size = new System.Drawing.Size(287, 239);
this.cEXWB1.TabIndex = 4;
this.cEXWB1.Text = "cEXWB1";
this.cEXWB1.TextSize = IfacesEnumsStructsClasses.TextSizeWB.Medium;
this.cEXWB1.UseInternalDownloadManager = true;
this.cEXWB1.WBDOCDOWNLOADCTLFLAG = 112;
this.cEXWB1.WBDOCHOSTUIDBLCLK = IfacesEnumsStructsClasses.DOCHOSTUIDBLCLK.DEFAULT;
this.cEXWB1.WBDOCHOSTUIFLAG = 262276;
}
|
|
|
|

|
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?
|
|
|
|

|
very nice, very easy to use and much much more powerful than webbrowser control, Thanks man.
|
|
|
|

|
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.
Cheers!
|
|
|
|

|
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.
Thank you
|
|
|
|

|
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 );
}
else if (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);
hee.ConnectToHtmlElementEvents(element);
Do I need to cast as something else? Is this possible?
|
|
|
|

|
Figured it out:
HTMLInputTextElementEvents hee = new HTMLInputTextElementEvents();
hee.elemonclick += new HTMLInputTextElementEventHandler(hee_elemonclick);
hee.ConnectToHtmlElementEvents(element);
This works. I thought I had tried it before, but must have missed it.
|
|
|
|

|
Hello all,
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.
- Randolph
|
|
|
|

|
Downloaded the code, but it does not compile. The EXE found in the Release directory crashes on W7.
|
|
|
|

|
Hi
I Receive Error 8 The name 'CSEXWBDLMANLib' does not exist in the current context C:\Documents and Settings\newuser\Desktop\Wrapper control\csExWB\csExWB\cEXWB.cs 324 79 csExWB
I wondering how to solve this.
|
|
|
|

|
Read part of article "Before opening the solution or running the demo, you need to register this library"
|
|
|
|

|
First off, let me say, thank you to the developer for their great effort.
My need stems from flaws with the .NET WebBrowser control, which has several limits, which as I peer into this solution, it seems to address. The WebBrowser limits I needed to get around were as such:
1) Not able to get all information from OnNavigate events, including BeforeNavigate.
2) How to see all posted data.
I made a MSDN article about these limitations here: http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/0a65289b-7eae-4f9f-85ca-108fbe446482[^]
I want to try this new csExWB class out. But I do not see a clear path on how to encorporate it into a hello-world like project. If one has say a VS2010 hello-world project, where thet made a simple form-based app that had the WebBrowser control in it. What would one have to do to use csExWB instead of the WebBrowser control?
I figure in the form_Load method, one would instantiate an instance of the csExWB class and pass the WebBrowser control to it, so the csExWB class could override it, but I do not see anything in csExWB to do this.
Also, what would one add as a reference to the hello-world project? Would they add a reference to csExWB.dll? What about Interop.CSEXWBDLMANLib.dll? Would one need to add that as well. Also, what about that csExWBDLMan.dll?
ATS++
|
|
|
|

|
First of all csExWB must have been a monumental effort and Mike deserves enormous credit for his oevre ....
It is possible to incorporate csExWB into one's own project, but it requires some tenanicty. I had an application which included a WebBrowser control (effectively this is IE) and had got almost to the completion of my project when I git a problem which I could not overcome (downloading a file without the irritating "File Download" pop-up"). After 2 weeks of frustration I decided the only answer was a webbrowser like csExWB which does (I think) everything WebBrowser/IE does ... but also with a 'silent' and 'automatic' (or at least semi-automatic) file download capability. Perfect.
I did hit a few glitches though:
1. My original application had to be changed to build from 'Any CPU' down to 'X86'
2. I had to get the DemoApp working completely and then .... very slowly ... take components out of it until I had a barebones frmMain form which was JUST the browser window.
3. Could not get this barebones browser to work with 'Visible = false' (it just doesn't seem to want to 'go') so I reduced the browser window down to Size = (0,0) as a workaround )
4. Had to register the CSEXWBLDMANLib.dll library in the C:\Windows\SysWOW64 directory rather than C:\Windows\System32 before the program would build
5. Had to hack IN code to delete csExWB browser cookies and cache entries before I could get 'consistent' access to my target website
Apart from that, lots more grey hairs and many wrinkles, everything in my application is a thousand times better than using WebBrowser/IE
R.
|
|
|
|

|
Hey folks! I got it encorporated. Here is what I had to do!
I had a VS2010 hello-world app. The app added the csExWB.dll and csExWBDLMANLib.dll as references. Supposedly this should also take care of registering csExWBDLMANLib.dll, albeit in my test, I had already manually run RegSvr32 on it ahead of time.
In my app, I added the old WebBrowser, so I could have something to work with the GUI of VS2010's form editor, and I named it "WebBrowser_Main".
Then I simply declared a cEXWB in my app's main form as a data member;
public csExWB.cEXWB cEXWB_This = null;
And in the MyForm's Constructor I instatiated it as such:
cEXWB_This = new csExWB.cEXWB();
public MyForm()
{
InitializeComponent();
cEXWB_This.Anchor = WebBrowser_Main.Anchor;
cEXWB_This.Name = WebBrowser_Main.Name;
cEXWB_This.Location = WebBrowser_Main.Location;
cEXWB_This.Size = WebBrowser_Main.Size;
cEXWB_This.RegisterAsBrowser = true;
cEXWB_This.Visible = true;
cEXWB_This.MinimumSize = WebBrowser_Main.MinimumSize;
cEXWB_This.TabIndex = WebBrowser_Main.TabIndex;
WebBrowser_Main.Visible = false;
this.Controls.Add(cEXWB_This);
cEXWB_This.BringToFront();
}
then in the MyForm_Load I added the event handler like this:
public void MyForm_Load(object objSender, EventArgs EventArgs_Param)
{
cEXWB_This.BeforeNavigate2 += new csExWB.BeforeNavigate2EventHandler(cEXWB_This_BeforeNavigate2);
cEXWB_This.NavigateComplete2 += new csExWB.NavigateComplete2EventHandler(cEXWB_This_NavigateComplete2);
cEXWB_This.DocumentComplete += new csExWB.DocumentCompleteEventHandler(cEXWB_This_DocumentComplete);
cEXWB_This.ProgressChange += new csExWB.ProgressChangeEventHandler(cEXWB_This_ProgressChange);
}
And WHA-LAH, it worked!
FYI, I am on a 32-Bit machine, old XP.
ATS++
|
|
|
|

|
Is it possible to create a 64 bit version of control?
|
|
|
|

|
Helpful & informative....
|
|
|
|
|

|
Hi,
I want total page size including img,js,css in webbrowser control. is it possible to get it?
Thanks
Krishna
|
|
|
|

|
as far as i understand this should be done on the ProtocolHandlerOnBeginTransaction event.
i'm using the m_AdditionalHeadersToAdd field - but it does not seem to work, the server side still responds as if this header did not exist.
i've tried the BeforeNavigate2 event with headers field as well
this is working well when i use HttpWebRequest class or ordinary framework's web browser control with the invoke:
this.webBrowser1.Navigate(@"https://www.xxx.xx/xx", "", null, "X-header: header");
any ideas / hints?
thanks in advance!
the trooper
|
|
|
|
 |
|
|
General News Suggestion Question Bug Answer Joke Rant Admin
|
A C# (.NET 2.0) control which creates, hosts, and offers advanced customization such as dragdrop, file downloads, HTTP/S header viewing, and much more.
| Type | Article |
| Licence | CPOL |
| First Posted | 25 May 2007 |
| Views | 878,354 |
| Downloads | 21,759 |
| Bookmarked | 457 times |
|
|