最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

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

业界 admin 1浏览 0评论


1、通过调用ShellExecute()来打开网页    示例:CString strUrl = _T(" http://www.google.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则是可以指定运行的浏览器的运行程序地址来打开页面,并且是一个新页面。


1、通过调用ShellExecute()来打开网页    示例:CString strUrl = _T(" http://www.google.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则是可以指定运行的浏览器的运行程序地址来打开页面,并且是一个新页面。

发布评论

评论列表 (0)

  1. 暂无评论