Microsoft KB Archive/247671

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 09:00, 21 July 2020 by X010 (talk | contribs) (Text replacement - "<" to "<")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Base

PRB: Printing with WebBrowser from Internet Explorer Raises Print Dialog Box in Internet Explorer 5

Article ID: 247671

Article Last Modified on 5/12/2003


  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.01

This article was previously published under Q247671


Developers wishing to print multiple copies of an HTML page from script sometimes try to host the WebBrowser control and call ExecWB() repeatedly with the OLECMDID_PRINT command and the OLECMDOPT_DONTPROMPTUSER option. However, this always brings up a print dialog box for each print request. This command works as intended in a WebBrowser host or an ActiveX control. It also works in some versions of Microsoft Internet Explorer Version 4.0.


This was a security hole. Consider the following code:

for (var i = 0; i < 100000; i++) {
    WebBrowser1.ExecWB 6, -1

If allowed to execute, this amounts to a Denial of Service attack, wherein it is possible to jam the user's systems by flooding them with repeat requests.

Additionally, the WebBrowser control's events cannot be sunk when the control is hosted within Internet Explorer. Therefore, there is no way of knowing when a document has completely loaded and is ready to print. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

183048 PRB: Events Not Firing When IE4 WebBrowser Placed On Web Page


There is currently no easy method for printing multiple pages programmatically from script without bringing up a dialog box.

Developers should re-evaluate their use of the WebBrowser control within HTML pages. The WebBrowser control was not designed to be hosted on a Web page using an OBJECT tag.


This behavior is by design.

Keywords: kbprint kbwebbrowser kbprb KB247671