开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 4537|回复: 9
收起左侧

使用 ShellExecute 启动默认 Web 浏览器

[复制链接]

结帖率:67% (16/24)
发表于 2011-8-10 16:23:02 | 显示全部楼层 |阅读模式   广东省广州市
分享视频教程
教程类型: 无声教程
教程讲师:
下载地址1: http://support.microsoft.com/kb/224816
本帖最后由 微凉 于 2011-8-10 16:25 编辑

本文提供了有关如何注册默认的 Web 浏览器,以及如何使用 ShellExecute 应用程序编程接口 (API) 启动默认 Web 浏览器的常规信息。 它还提...
本文提供了有关如何注册默认的 Web 浏览器,以及如何使用 ShellExecute 应用程序编程接口 (API) 启动默认 Web 浏览器的常规信息。 它还提供了有关如何 ShellExecute 导致转到统一资源定位符 (URL) Microsoft Internet Explorer 详细信息。
确定在默认 Web 浏览器默认状态下,Microsoft Internet Explorer 会检查是否启动每次为默认 Web 浏览器。如果 Internet...
确定在默认 Web 浏览器
默认状态下,Microsoft Internet Explorer 会检查是否启动每次为默认 Web 浏览器。如果 Internet Explorer 启动时 Internet 文档 (HTML) 文件与一个不同的浏览器相关联,Internet Explorer 将认识到,它不是默认的浏览器,则会提示您,使其在默认浏览器。

当您选择 将此默认浏览器 在 Internet Explorer 中和更高版本的 Netscape 时,浏览器注册自身到 所有 的下列项本身进行默认的浏览器在其他的写入条目) 之间。HKEY_CLASSES_ROOT\.htm HKEY_CLASSES_ROOT\.html HKEY_CLASSES_ROOT\http\shell\open\command HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application HKEY_CLASSES_ROOT\ftp\shell\open\command HKEY_CLASSES_ROOT\ftp\shell\open\ddeexec\Application HKEY_CLASSES_ROOT\gopher\shell\open\command HKEY_CLASSES_ROOT\gopher\shell\open\ddeexec\Application

从应用程序启动默认 Web 浏览器
调用 ShellExecute API 并将它传递一个 URL。 这就是最简单的方法,您可以从您的应用程序启动默认 Web 浏览器。如果当前运行在默认 Web 浏览器,ShellExecute 通知运行转到您统一资源定位符 (URL) 的实例。如果未运行 ShellExecute 启动应用程序,然后浏览到您的 URL

如果您使用 Microsoft Visual c + + 来开发应用程序,下面的代码描述如何调用 ShellExecute
LONG r = ShellExecute(NULL, "open", "http://www.microsoft.com", NULL, NULL, SW_SHOWNORMAL);
               
如果您使用了 Microsoft Visual Basic 必须在您的项目中插入 ShellExecute 声明。您可以找到此声明 Win32api.txt 文件位于 Microsoft Visual Studio 安装的子文件夹中。(可选),您可以从 Visual Studio 6.0 附带 API 文本查看器工具复制它。

若要将插入到您的项目的 ShellExecute API,请按照下列步骤操作:
1 在 Visual Basic 中创建新的项目。
2 选择 标准 EXE
3 将一个按钮添加到窗体。
4 将下面的代码在
Private Declare Function ShellExecute _
                            Lib "shell32.dll" _
                            Alias "ShellExecuteA"( _
                            ByVal hwnd As Long, _
                            ByVal lpOperation As String, _
                            ByVal lpFile As String, _
                            ByVal lpParameters As String, _
                            ByVal lpDirectory As String, _
                            ByVal nShowCmd As Long) _
                            As Long
Private Sub Command1_Click()
   Dim r As Long
   r = ShellExecute(0, "open", "http://www.microsoft.com", 0, 0, 1)
End Sub
                        
5 窗体中。
6 运行您的项目,然后单击转到您的 URL 与默认 Web 浏览器按钮。
ShellExecuteAPI Microsoft Windows 95 Microsoft Windows NT 3.1 上受支持的和更高版本。您可以使用 ShellExecute 激活默认的 Web 浏览器,在所有 Win32 版本的 Microsoft Internet Explorer 从版本 1.0 和更高版本。不支持这种技术,在 Microsoft Windows 3.xUNIX,或 MacIntosh 平台。
ShellExecute 的工作原理
以下背景是仅用于提供信息之目的。 它被提供,以便您可以更好地了解您的应用程序与操作系统的交互方式。不的基础上从该信息所绘制的假设您设计。注意此功能可能会更改在未来版本的 Microsoft 产品。
ShellExecute 如何解释该 URL 传递
ShellExecute分析,以便协议说明符或扩展可以提取 ShellExecute 传递给它的字符串。接下来,ShellExecute 在注册表中的外观,然后使用来确定要启动的应用程序的协议说明符或扩展名。如果您传递给 ShellExecute 的 http://www.microsoft.com,ShellExecute 认识到作为导致 ShellExecute 若要查看有关如何运行的信息的 HKEY_CLASSES_ROOT\http\shell\open 协议 http:// 子字符串。如果您传递给 ShellExecute 的 myfile.htm,ShellExecute 认识到在".htm"的子字符串作为扩展。这会导致 ShellExecute 查看 HKEY_CLASSES_ROOT\.htm,从而导致 HKEY_CLASSES_ROOT\htmlfile\shell\open

通常,最好完全指定传递给 ShellExecute,例如在字符串中的您的 URLhttp://www.microsoft.comwww.microsoft.com 代替。当您完全指定 URL 时,您确保 ShellExecute 知道所需的确切的协议。 默认状态下,但是,ShellExecute 检测到某些模式,包括 www.* 和 ftp.*,然后分别将这些模式将映射到超文本传输协议 (HTTP) 协议和 $ 文件传输协议 (FTP)
ShellExecute 如何确定是否为启动新实例
当通过注册表查找 ShellExecute 时,它查找 shell\open 子项。如果定义 shell\open\ddeexec 键,则动态数据交换 (DDE) 消息与指定的应用程序 IExplore 和主题 WWW_OpenURL 广播到桌面上的所有顶级窗口。第一个应用程序以响应此消息是应用程序来说,如果它转到请求的 URL。如果没有应用程序响应此 DDE 消息,ShellExecute 将使用在 shell\open\command 子项来启动应用程序中包含的信息。它然后 re-broadcasts DDE 消息,以转到请求的 URL

评分

参与人数 1精币 +5 收起 理由
已经习惯 + 5 精彩文章希望继续努力

查看全部评分


发表于 2011-8-10 16:24:09 | 显示全部楼层   广东省茂名市
坐沙发看。。
回复 支持 反对

使用道具 举报

结帖率:40% (4/10)
发表于 2011-8-10 22:57:28 | 显示全部楼层   广东省深圳市
支持下哈~
看看吧{:3_229:}
回复 支持 反对

使用道具 举报

结帖率:50% (2/4)
发表于 2011-8-20 23:30:39 | 显示全部楼层   广东省珠海市
好东西....
回复 支持 反对

使用道具 举报

结帖率:50% (3/6)
发表于 2011-8-28 12:17:29 | 显示全部楼层   江苏省连云港市
学习下{:3_226:}
回复 支持 反对

使用道具 举报

头像被屏蔽
结帖率:50% (1/2)
发表于 2011-9-17 09:49:58 | 显示全部楼层   福建省泉州市
{:3_244:}{:3_245:}看看
回复 支持 反对

使用道具 举报

结帖率:56% (9/16)
发表于 2011-10-17 20:40:10 | 显示全部楼层   江西省宜春市
{:3_234:}  怎么没有下载地址
回复 支持 反对

使用道具 举报

头像被屏蔽
结帖率:11% (1/9)
发表于 2011-10-23 13:23:04 | 显示全部楼层   山东省泰安市
学习学习{:3_244:}
回复 支持 反对

使用道具 举报

结帖率:67% (4/6)
发表于 2011-10-30 22:08:50 | 显示全部楼层   上海市上海市
学习了,但是几乎看不懂的
回复 支持 反对

使用道具 举报

结帖率:82% (9/11)
发表于 2012-7-4 13:46:23 | 显示全部楼层   福建省三明市
给个源码 学习一下!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表