In some situations, you may want to programmatically close the Internet Explorer window that hosts your Microsoft Visual Basic ActiveX document. This article demonstrates a mechanism that can accomplish this.
sub procedure in the following code sample uses the SendMessage
function to send a SC_CLOSE message to the Internet Explorer window, which immediately closes the Internet Explorer instance.
Keep in mind that the recommended method to close a Visual Basic document is to navigate the Internet Explorer instance away from the Visual Basic document to another resource.
- Create a new ActiveX Document DLL project in Visual Basic.
- On the Project menu, click References, select Microsoft Internet Controls, and then click OK.
- Paste the following code into the User Document code window:
Private Declare Function SendMessage _
Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Long) _
Private Sub CloseWindow()
Dim Handle As Long
Dim ie As InternetExplorer
Const NILL = 0&
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060&
Set ie = UserDocument.Parent
' Send the message.
Handle = SendMessage(ie.hwnd, WM_SYSCOMMAND, SC_CLOSE, NILL)
- Call the CloseWindow procedure whenever you want to close the Internet Explorer window.
For additional information, click the article number below
to view the article in the Microsoft Knowledge Base:
How To Hyperlink in UserDocuments
For more information about developing Web-based solutions for Microsoft Internet Explorer, visit the following Microsoft Web sites: