程序中通过IE或默认的浏览器打开指定的页面


1、通过调用ShellExecute()来打开网页
   示例:CString strUrl = _T(" http://www.google.com.hk/"); 
               HINSTANCE hIeResult = ShellExecute(NULL, _T("open"), strUrl, NULL, NULL, SW_SHOW);
 通过返回值可以判断ShellExecute的执行是否成功,失败通过GetLastError()查找对应的原因

2. CreateProcess的方式
   示例:
	// 以CreateProcess的方式打开链接地址
	CString strOpenUrl = strUrl;
	CString strIEPath = _T("");
	strIEPath = strPath;
	STARTUPINFO si;
	PROCESS_INFORMATION pi;
	ZeroMemory( &si, sizeof(si) );
	si.cb = sizeof(si);
	ZeroMemory( &pi, sizeof(pi) );
	// 在链接字符串前面加一个空格
	strUrl = _T(" ") + strUrl;
	LPWSTR lpUrl = (LPWSTR)(LPCTSTR)(strUrl);
	if( CreateProcess( strIEPath, 
		lpUrl,             
		NULL,               
		NULL,              
		FALSE,              
		CREATE_NEW_CONSOLE,
		NULL,             
		NULL,             
		&si,              
		&pi)              
		)
	{	// 释放句柄
		CloseHandle( pi.hProcess );
		CloseHandle( pi.hThread ); 
		return TRUE;
	}
	else
	{	// CreateProcess打开失败 
		return false;
	}
总结:其实两种方式都是调用外部程序,在打开网页这个操作上,ShellEexcute打开的页面会调用默认的浏览器的打开地址,而CreateProcess则是可以指定运行的浏览器的运行程序地址来打开页面,并且是一个新页面。


你可能感兴趣的:(C++代码)