2409wtl,打开浏览器

2024-09-05 18:04
文章标签 浏览器 打开 2409wtl

本文主要是介绍2409wtl,打开浏览器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文

介绍

曾经想在不破坏现有浏览器窗口内容时打开URL:方法如下,只需几秒钟.

1,首先,包含头文件:

 #include "url.h"

2,然后只需声明一个CURL对象并调用Open方法:

CURL url;
url.Open(_T("<A href="http://www.codeproject.com/">http://www.codeproject.com/</A>"));

3,如果要重用现有浏览器窗口,请给第二个参数传递:

CURL url;
url.Open(_T("<A href="http://www.codeproject.com/">http://www.codeproject.com/</A>"), false);

就这样!简单,可将此代码与CString友好框架(MFC,WTL,ATL7)一起使用.

CURL

#pragma once
class CURL
{
private://默认浏览器CString m_strBrowser;
public://打开`URL`void Open(LPCTSTR lpszURL, bool bNewWindow = true){if (bNewWindow)::ShellExecute(NULL, NULL, GetBrowser(), lpszURL, NULL, SW_SHOWNORMAL);else::ShellExecute(NULL, NULL, lpszURL, NULL, NULL, SW_SHOWNORMAL);}//从注册表中取默认浏览器LPCTSTR GetBrowser(void){//已有了浏览器吗?if (m_strBrowser.IsEmpty()){//从`HKCR\http\shell\open\command`取默认浏览器HKEY hKey = NULL;//打开注册表if (::RegOpenKeyEx(HKEY_CLASSES_ROOT, _T("http\\shell\\open\\command"),0, KEY_READ, &hKey) == ERROR_SUCCESS){//数据大小DWORD cbData = 0;//取默认值if (::RegQueryValueEx(hKey, NULL, NULL, NULL, NULL, &cbData)== ERROR_SUCCESS && cbData > 0){//分配合适的缓冲TCHAR* psz = new TCHAR [cbData];//成功if (psz != NULL){if (::RegQueryValueEx(hKey, NULL, NULL,NULL, (LPBYTE)psz, &cbData) ==ERROR_SUCCESS){//成功!m_strBrowser = psz;}delete [] psz;}}::RegCloseKey(hKey);}//有浏览器吗?if (m_strBrowser.GetLength() > 0){//从串中去除完整路径int nStart = m_strBrowser.Find('"');int nEnd = m_strBrowser.ReverseFind('"');//是否有引号,是则`路径包含空格`.if (nStart >= 0 && nEnd >= 0){//他们是一样的吗if (nStart != nEnd){//取完整路径m_strBrowser = m_strBrowser.Mid(nStart + 1, nEnd - nStart - 1);}}else{//可能有一个`带空格但没有引号`的路径名`(Netscape)`,如`:C:\PROGRAMFILES\NETSCAPE\COMMUNICATOR\PROGRAM\NETSCAPE.EXE -h "%1"`查找最后反斜杠int nIndex = m_strBrowser.ReverseFind('\\');//成功if (nIndex > 0){//查找最后反斜杠后的下个空格int nSpace = m_strBrowser.Find(' ', nIndex);//有空格吗if (nSpace > 0)m_strBrowser = m_strBrowser.Left(nSpace);}}}}//完成return m_strBrowser;}
};

见,urlnewwindow_src.

这篇关于2409wtl,打开浏览器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139677

相关文章

2409wtl,网浏包装

原文 介绍 本教程帮助你用IE引擎构建一个基于WTL,并使用我编写的处理IWebBrowser2接口包装类的迷你浏览器. 因为知道代码可能很难读,因此本教程帮助你逐步开发一个迷你浏览器. 背景 大部分项都与互联网浏览有关.我常用超文本视图使用SDI. 有时,我要用真正的浏览器函数,因此我为IWebBrowser2编写了一个包装器. 此包装类可处理在IE中嵌入的窗口.它还可非常简单的处

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

微软正式推出 Spartan 斯巴达浏览器

作为用于替代 IE 浏览器的下一代继任者,微软的 Project Spartan 斯巴达浏览器可算是吊足了玩家们的胃口!如今,在最新的 Windows 10 Build 10049 版本起,它终于正式登场了。 斯巴达浏览器搭载了全新的渲染引擎、新的用户界面并集成了 Cortana 语音助手。功能上新增了稍后阅读列表、阅读视图、F12开发者工具、支持网页注释 (手写涂鸦),可以保存到 O

PC与android平板通过浏览器监控Verybot的视频

下面这个视频是PC与android平板通过浏览器监控Verybot的视频:           http://v.youku.com/v_show/id_XNjYzNzYyMTIw.html

搜狗浏览器打开CSDN博客排版错乱问题解决

之前发生过几次,不知道什么原因。 今天一直用着好好的,打开一个csdn连接,显示404,博文被删除了,于是就用百度快照打开试试,百度快照打开显示的排版很乱也没找到有用信息。 后面再浏览CSDN博客就排版错乱,显示一个大大二维码图片。 尝试删除IE缓存无效,使用谷歌浏览是好的。 基本锁定就是搜狗缓存导致的,于是找如何删除搜狗缓存   清除后恢复正常

240907-Gradio插入Mermaid流程图并自适应浏览器高度

A. 最终效果 B. 示例代码 import gradio as grmermaid_code = """<iframe srcdoc='<!DOCTYPE html><html><head><meta charset="utf-8" /><meta name="viewport" content="width=device-width" /><title>My static Spa

2409wtl,切换视图

原文 介绍 我从一个基于SDI(单文档接口)WTL向导的应用开始,添加了一些从控件继承的窗口和一些对话框窗口(表单视图),然后才发现我必须,使SDI框架动态加载和卸载子窗口. 本文演示了两个可用来完成的技术:在SDI应用中的视图间动态切换.这是我使用的两个. 技术 1技术:第一个方法涉及按需析构和重建视图实例.这更简单,且在不介意析构和重建窗口对象时效果很好. 2:按需创建视图,然后用

我成功在本地打开了Cesium啦!

1首先下载Node.js,我是跟着这篇下载的,https://zhuanlan.zhihu.com/p/77594251,不过这后面的我没弄对Cesium环境配置也没影响。 另外:我看其他推文说,在终端写node -v和npm-v查node和npm的版本可以检测node和npm是否下载成功。 2然后我在CesiumB站官号看的教学视频,跟着下载Cesium源代码。 Cesium基础入门1-零

PageOfficeCtrl支持直接打开服务器磁盘文件

一般来说,PageOfficeCtrl控件的WebOpen方法的第一个参数是待打开文档的URL,此URL可以是相对于当前页面的相对URL,也可以是相对于整个网站根的相对URL,还可以是http开头的完整URL,但是这个URL必须是当前网站的URL,不能跨域。 现在为了更加方便开发者编程,WebOpen支持打开服务器磁盘文件。也就是说,第一个参数可以写成服务器文件的绝对磁盘路径。例如: P