使用 ShellExecute 的一些技巧

确定默认的 Web 浏览器

<script type=text/javascript> loadTOCNode(2, 'moreinformation'); </script> by default,Microsoft Internet Explorer checks to see if is default Web browser that starts each time。 if when Internet Explorer starts Internet document (HTML) files are associated with different browser,Internet Explorer recognizes that is not default browser and then prompts to make default browser。

当您选择 使其默认的浏览器 在 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 浏览器 <script type=text/javascript> loadTOCNode(2, 'moreinformation'); </script> 调用 ShellExecute API 并将它传递一个 URL。 它是要从您的应用程序启动默认的 Web 浏览器最简便的方式。 如果默认的 Web 浏览器当前运行, ShellExecute 告诉运行要转到您的统一资源定位符 (URL) 的实例。 如果它没有运行, ShellExecute 启动应用程序,然后浏览到您的 URL。

 

ShellExecute 原理

<script type=text/javascript> loadTOCNode(2, 'moreinformation'); </script>
下面的背景是仅以提供信息为目的。 它提供,以便您可以更好地了解您的应用程序如何与操作系统交互。 不基于您的设计方案假设您从此信息中绘制的。 一定要注意此功能可能会在未来版本 Microsoft 产品的更改。
ShellExecute 如何解释 URL 传递

<script type=text/javascript> loadTOCNode(3, 'moreinformation'); </script> ShellExecute parses that is passed to that so ShellExecute can extract either protocol specifier or extension string。 next, ShellExecute in registry looks and then to determine which application to start uses either protocol specifier or extension。 if to ShellExecute pass http://www.microsoft.com ShellExecute recognizes protocol,which causes ShellExecute to view HKEY_CLASSES_ROOT/http/shell/open for information about how to run as http:// sub-string。 如果您将 myfile.htm 传递到 ShellExecute ShellExecute 识别作为扩展".htm"子。 这将导致 ShellExecute ,以查看 HKEY_CLASSES_ROOT/.htm,这会导致 HKEY_CLASSES_ROOT/htmlfile/shell/open。

通常,则最好完全例如传递到 ShellExecute ,在字符串中指定您的 URL: http://www.microsoft.com ,而不是 www.microsoft.com 。 当您完全指定 URL 时, 您以确保 ShellExecute 知道所需完全的协议。 by default,however, ShellExecute detects some patterns that include www.* and ftp.* ,and then maps those patterns respectively to Hypertext Transfer Protocol (HTTP) protocol and File Transfer Protocol (FTP)。

ShellExecute 如何确定是否启动一个新实例

<script type=text/javascript> loadTOCNode(3, 'moreinformation'); </script> ShellExecute 查找通过注册表时,它将查找该 shell/open 子项。 如果定义 shell/open/ddeexec 键,然后在动态数据交换 (DDE) 消息与指定的应用程序 IExplore WWW_OpenURL 广播到所有顶级窗口在桌面上主题。 第一个应用程序来响应此消息是应用程序,转到所请求的 URL。 如果没有应用程序响应此 DDE 消息,然后 ShellExecute 使用 shell/open/command 子项,以启动该应用程序中包含的信息。 它然后 re-broadcasts DDE 消息转到所请求的 URL。

 

 

引自: http://support.microsoft.com/kb/224816/zh-cn

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值