Here is the easiest way to launch IE:
#include <windows.h>
#include <shellapi.h>
int APIENTRY wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int)
{
ShellExecuteW(NULL, L"open", L"http://gquangdung.blogspot.com", NULL, NULL, SW_SHOWNORMAL);
}
You can do the same but it will look like a very serious program :)
#include <windows.h>
#include <exdisp.h>
int APIENTRY wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int)
{
CoInitialize(NULL);
IWebBrowser2* pBrowser = NULL;
HRESULT hr = CoCreateInstance(CLSID_InternetExplorer, NULL,
CLSCTX_SERVER, IID_IWebBrowser2, (LPVOID*)&pBrowser);
if (SUCCEEDED(hr) && (pBrowser != NULL))
{
VARIANT vEmpty;
VariantInit(&vEmpty);
VARIANT vFlags;
V_VT(&vFlags) = VT_I4;
V_I4(&vFlags) = navOpenInNewWindow;
BSTR bstrURL = SysAllocString(L"http://gquangdung.blogspot.com");
pBrowser->Navigate(bstrURL, &vFlags, &vEmpty, &vEmpty, &vEmpty);
pBrowser->Quit();
SysFreeString(bstrURL);
}
if (pBrowser)
pBrowser->Release();
CoUninitialize();
return 0;
}
I've not tested but this way allows to launch IE in a host application:
#include <windows.h>
#include <exdisp.h>
int APIENTRY wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int)
{
CoInitialize(NULL);
IWebBrowser2* pBrowser = NULL;
HRESULT hr = CoCreateInstance(CLSID_InternetExplorer, NULL,
CLSCTX_SERVER, IID_IWebBrowser2, (LPVOID*)&pBrowser);
if (SUCCEEDED(hr) && (pBrowser != NULL))
{
VARIANT vEmpty;
VariantInit(&vEmpty);
BSTR bstrURL = SysAllocString(L"http://gquangdung.blogspot.com");
hr = pBrowser->Navigate(bstrURL, &vEmpty, &vEmpty, &vEmpty, &vEmpty);
if (SUCCEEDED(hr))
pBrowser->put_Visible(VARIANT_TRUE);
else
pBrowser->Quit();
SysFreeString(bstrURL);
}
if (pBrowser)
pBrowser->Release();
CoUninitialize();
return 0;
}
No comments:
Post a Comment