Launching and Closing the Internet Explorer from Your VC++ App
Environment: Visual C++
Introduction
The Vice President (academic) of Valley View University (in Ghana) wanted me to develop a software application to monitor the transactions that go on in our newly established Internet cafe center.
The problem definition or specification requires launching and closing the IE from the application. Initially, I decided to create a custom browser, but I felt it would be more convient to use the standard browser. The ShellExecute() function could launch the IE from my program, but what about closing the IE from my program? With the help of MSDN, I found that the BroadcastSystemMessage() fuction could do the job. For more on BroadcastSystemMessage(), check MSDN.
I chose BSF_POSTMESSAGE, WM_CLOSE, BSM_APPLICATIONS, NULL, and NULL as parameters of BroadcastSystemMessage() function.
The codes are below:
/*lounching IE, you need an html file on your pc or if you have access to the net you can use a remote address*/ void lounchIE() { HWND h=FindWindowEx(NULL,NULL,NULL, "Microsoft Internet Explorer") ; ShellExecute(h,"open","C:\\simple.html", NULL,NULL,SW_SHOWNORMAL); } //closing IE and all applications void CloseIE() { int app=BSM_APPLICATIONS; unsigned long bsm_app=(unsigned long )app; BroadcastSystemMessage(BSF_POSTMESSAGE,&bsm_app, WM_CLOSE,NULL,NULL); }
Problem: The shot-down window may display. When you choose Cancel, you can only run your application from the icons of the applications on the Desktop.

Comments
A solution for the release version...
Posted by Legacy on 06/07/2002 12:00amOriginally posted by: BN37
After looking closer at my code, I found out that the function itself was not the problem. I checked the ON_COMMAND line used to initiate the block of code. At that time, I had found my mistake: it said ON_COMMAND_EX(...) instead of ON_COMMAND(...). If any of you programmers have a similar problem, it wouldn't hurt to check the simplest things.
ReplyCompiled Release Version Errors
Posted by Legacy on 06/06/2002 12:00amOriginally posted by: BN37
ReplyAlternative simple way to close explorer
Posted by Legacy on 06/04/2002 12:00amOriginally posted by: Martynas
Hello,
I close epxlorer in simple way:
HWND hExplorer = ::FindWindow( "IEFrame", NULL );
if ( hExplorer == NULL )
hExplorer = ::FindWindow( "CabinetWClass", NULL );
if( hExplorer != NULL )
{
::PostMessage( hExplorer, WM_CLOSE, 0, 0 );
}
This can also be put into a loop (with some precautions) to close all explorer instances. If you want I can present full code for it.
-
ReplyImportant
Posted by ammar_amk on 07/13/2004 09:58amCan I please know how to send the selected text from Internet Explorer to our VC++ program
Reply