今天来跟大家分享一下如何用程序实现调用微软的
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.exe
http://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浏览器进入刚才输入的网站。