今天來跟大家分享一下如何用程序實現調用微軟的ie瀏覽器打開指定的網站。有兩種方法,下面我們來詳細說明。
第一種方法是調用函數ShellExecuteEx實現的。首先需要對結構體SHELLEXECUTEINFO進行賦值。比方說我們要打開http://innovator.samsungmobile.com/cn。具體要這麼賦值:
SHELLEXECUTEINFO ShellInfo;
memset(&ShellInfo, 0, sizeof(ShellInfo));
ShellInfo.cbSize = sizeof(ShellInfo);
ShellInfo.hwnd = NULL;
ShellInfo.lpVerb = _T("open");
ShellInfo.lpFile = L" http://innovator.samsungmobile.com/cn ";
ShellInfo.nShow = SW_SHOWNORMAL;
ShellInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShellInfo.lpParameters = NULL;
//調用函數ShellExecuteEx
if(!ShellExecuteEx(&ShellInfo))
return FALSE;
//關閉句柄
CloseHandle(ShellInfo.hwnd);
CloseHandle(ShellInfo.hProcess);
memset(&ShellInfo, 0, sizeof(ShellInfo));
ShellInfo.cbSize = sizeof(ShellInfo);
ShellInfo.hwnd = NULL;
ShellInfo.lpVerb = _T("open");
ShellInfo.lpFile = L" http://innovator.samsungmobile.com/cn ";
ShellInfo.nShow = SW_SHOWNORMAL;
ShellInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShellInfo.lpParameters = NULL;
//調用函數ShellExecuteEx
if(!ShellExecuteEx(&ShellInfo))
return FALSE;
//關閉句柄
CloseHandle(ShellInfo.hwnd);
CloseHandle(ShellInfo.hProcess);
第二種方法是用CreateProcess函數來實現。這裏需要注意的是這個函數的第一個參數和第二個參數。可以將可執行文件+命令行參數都放到第二個參數中,比如:
TCHAR cmdline[] =TEXT("windows//iexplore.exehttp://innovator.samsungmobile.com/cn ");
BOOL bRet = ::CreateProcess (
NULL,
cmdline,
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi);
也可以將可執行文件放到第一個參數中,命令行放到第二個參數。比如:
TCHAR cmdline[] =TEXT(" http://innovator.samsungmobile.com/cn ");
BOOL bRet = ::CreateProcess (
TEXT("windows//iexplore.exe"),
cmdline,
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi);
這裏我寫了一個簡單的程序來驗證這個方法。界面如下圖,在編輯框輸入要打開的網址,點擊按鈕Go,就可以打開IE瀏覽器進入剛纔輸入的網站。
這裏我寫了一個簡單的程序來驗證這個方法。界面如下圖,在編輯框輸入要打開的網址,點擊按鈕Go,就可以打開IE瀏覽器進入剛纔輸入的網站。