`
yaoyao19851023
  • 浏览: 32180 次
  • 性别: Icon_minigender_2
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

如何使用 ShellExecute 应用程序编程接口 (API)

    博客分类:
  • c#
阅读更多
本文提供了有关如何注册默认的 Web 浏览器和如何使用 ShellExecute 应用程序编程接口 (API) 启动默认 Web 浏览器的一般信息。 它还提供详细信息方式 ShellExecute 将导致 Microsoft Internet Explorer 将转到统一资源定位符 (URL)。
回到顶端
更多信息确定默认 Web 浏览器默认,Microsoft Internet Explorer 检查是否它是默认的 Web 浏览器每次启动。 如果 Internet Ex...确定默认 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 安装的子文件夹中。 (可选),您可以将它复制 API 文本查看器工具随 Visual Studio 6.0。

若要将您的项目插入 ShellExecute API 请按照下列步骤操作:
在 Visual Basic 中创建一个新的项目。
选择 标准 EXE 。
向窗体添加一个按钮。
将以下代码的形式放
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



运行您的项目,然后单击按钮以转到您使用默认 Web 浏览器的 URL。
ShellExecute API 是 Microsoft Windows 95 和 Microsoft Windows NT 3.1 上受支持和更高版本。 您可以使用 ShellExecute 激活默认 Web 浏览器在所有 Win 32 版本 Microsoft Internet Explorer 版本 1.0 和更高版本。 在 Microsoft Windows 3 x UNIX,或 MacIntosh 上此方法不受支持的平台。
回到顶端
ShellExecute 的工作原理
下面的背景为仅供参考之用。 它被提供,以便您可以更好地理解应用程序与操作系统进行交互的方式。 不会使从此信息您绘制的假设您设计。 应注意此功能可能会更改在将来版本的 Microsoft 产品。
ShellExecute 如何解释 URL 传递
ShellExecute 分析,以便 ShellExecute 可以提取协议说明符或扩展传递给它的字符串。 接下来, ShellExecute 会在注册表中查找,然后使用来确定要启动的应用程序的协议说明符或的扩展。 如果将 http://www.microsoft.com ShellExecute , ShellExecute 识别作为一个协议导致若要查看有关如何运行信息 HKEY_CLASSES_ROOT\http\shell\open ShellExecute http:// sub-string。 如果将 myfile.htm ShellExecute , ShellExecute 识别作为一项扩展在".htm"sub-string。 这将导致以查看 HKEY_CLASSES_ROOT\.htm,这会导致 HKEY_CLASSES_ROOT\htmlfile\shell\open ShellExecute 。

通常,最好完全指定例如传递到 ShellExecute 的字符串中的您的 URL: http://www.microsoft.com ,而不是 www.microsoft.com 。 完全指定 URL 时您 ShellExecute 知道准确的协议所需确保。 默认情况下, 但是, ShellExecute 检测到某些模式,包括 www.* 和 ftp.* ,然后将这些模式分别映射到该超文本传输协议 (HTTP) 协议和在文件传输协议 (FTP)。
ShellExecute 如何确定是否要启动新的实例
当通过注册表,看起来 ShellExecute 时,它将查找 shell\open 子项。 如果定义该 shell\open\ddeexec 项,动态数据交换 (DDE) 将邮件与指定的 application IExplore 和 WWW_OpenURL 广播到桌面上的所有顶级窗口的主题。 第一个应用程序以响应此消息是转到所请求的 URL 的应用程序。 如果没有应用程序响应此 DDE 消息, ShellExecute 将使用 shell\open\command 子项来启动应用程序中包含的信息。 它然后 re-broadcasts 该 DDE 信息,转到请求的 URL。
回到顶端
参考有关默认 Web 浏览器,请单击下面的文章编号,以查看 Microsoft 知识库中的文章: 153774  (http://support.microsoft...有关默认 Web 浏览器,请单击下面的文章编号,以查看 Microsoft 知识库中的文章:
153774  (http://support.microsoft.com/kb/153774/ ) 未配置为默认浏览器的 Internet Explorer
本文讨论了在第三方产品是由独立于 Microsoft 的公司制造的。 Microsoft 使默示或其他有关性能或可靠性这些产品的任何担保。
回到顶端

--------------------------------------------------------------------------------

这篇文章中的信息适用于:
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional Edition
Microsoft Internet Explorer 3.01
Microsoft Internet Explorer 3.02
Microsoft Internet Explorer 4.0 128-Bit Edition
Microsoft Internet Explorer 4.01 Service Pack 2
Microsoft Internet Explorer 4.01 Service Pack 1
Microsoft Internet Explorer 5.0
Microsoft Internet Explorer 5.01
Microsoft Internet Explorer (Programming) 5.01 SP1
Microsoft Internet Explorer 5.5
Microsoft Windows NT Server 3.5
Microsoft Windows NT Server 3.51
Microsoft Windows NT Server 4.0 Standard Edition
Microsoft Windows NT Workstation 3.5
Microsoft Windows NT Workstation 3.51
Microsoft Windows NT Workstation 4.0 开发员版
分享到:
评论

相关推荐

    在C语言源程序中调用API函数ShellExecute

    - 使用`ShellExecute`打开文件时,系统会根据文件扩展名自动选择相应的应用程序进行打开,因此确保目标文件已经被正确注册到系统中。 - 在实际开发过程中,应该对`ShellExecute`的返回值进行检查,以判断函数调用...

    VB API控制应用程序

    1. 开机启动:通过VB API调用`ShellExecute`或者`RegCreateKeyEx`、`RegSetValueEx`等函数,可以在注册表中设置启动项,使得应用程序能够在用户登录或系统启动时自动运行。 2. DLL注入:DLL注入是一种技术,用于将...

    API实践程序源代码

    6. **运行并控制其他软件**:使用`ShellExecute`或`CreateProcess` API可以启动新的应用程序,如果需要控制其他软件,可能还会涉及到进程间通信(IPC),如消息队列、管道或共享内存。 7. **自动隐藏菜单**:菜单的...

    c++ 快速启动应用程序

    综上所述,"c++ 快速启动应用程序"项目涵盖了C++编程、Windows API使用、文件路径管理、进程启动、GUI设计等多个IT知识点。这样的工具对于频繁使用多个应用程序的用户来说非常实用,既简化了操作流程,又提升了工作...

    C#ShellExecute示例源代码

    在C#编程中,`ShellExecute`方法是一个非常实用的功能,它允许开发者通过Windows壳层接口执行各种操作,如打开文件、运行程序、打印文档等。`ShellExecute`方法并不是C#内置的一部分,而是通过P/Invoke技术调用...

    Windows应用程序捆绑核心编程光盘代码

    1.3.2 在应用程序中使用虚拟内存 6 1.3.3 获取虚存状态 7 1.3.4 确定虚拟地址空间的状态 8 1.3.5 改变内存页面保护属性 9 1.3.6 进行一个进程的内存读写 10 1.4 文件的内存映射 11 1.4.1 内存映射API函数 11 ...

    win7 shell shellexecute

    标签“win7 shell shellexecute”表明这是关于Windows 7系统下的ShellExecute API使用和相关问题的讨论,可能涵盖了如何在该环境下正确使用此函数、解决兼容性问题以及优化用户体验等内容。 至于文件列表中的...

    将应用程序加入到IE工具栏 IE编程实例

    在IT领域,将应用程序加入到Internet Explorer(IE)工具栏是一项常见的编程任务,这使得用户可以方便地访问和使用特定的应用程序功能。本实例主要关注使用C++语言进行的IE编程,通过创建自定义的浏览器扩展来实现这...

    VC中应用Windows API函数编写的文件操作小程序

    在VC++环境中,Windows API(应用程序接口)是开发者与操作系统交互的重要工具,它提供了一系列的函数,用于执行各种系统级任务,包括文件操作。在这个"VC中应用Windows API函数编写的文件操作小程序"中,我们将深入...

    api编程透明

    此外,"用API函数调用外部程序"通常指的是使用`ShellExecute`或`CreateProcess` API函数启动其他应用程序。例如,`ShellExecute`可以用来打开文件、运行程序或者打开网页等: ```vb Declare Function ShellExecute ...

    windows编程定时关机程序源码下载

    Windows API(应用程序接口)是微软为开发者提供的函数库,它包含了大量用于与操作系统交互的函数。在定时关机程序中,主要涉及以下API: - `SetWaitableTimer()`:设置一个可等待定时器,当到达指定时间后,该...

    外壳程序的例子(7KB)...

    1. ShellExecute.exe:这可能是一个已经编译并可执行的VB程序,实现了外壳程序接口的功能,比如使用ShellExecute函数来启动其他应用程序或者打开文件。 2. frmMain.frm:这是VB中的一个表单文件,通常包含了用户...

    API运行外部程序(易语言源码版)

    例如,常见的`CreateProcess`函数用于创建新的进程,`ShellExecute`函数则可以执行一个应用程序或者打开文档等。 2. **API参数**:每个API函数都有其特定的参数,理解并正确设置这些参数是关键。比如,`...

    光驱自动开关程序

    开发者需要理解Windows API(应用程序编程接口)中与光驱相关的函数,比如`SendNotifyMessage`用于发送消息到系统托盘区,以及`ShellExecute`或`CreateProcess`来执行打开或关闭光驱的动作。这些函数允许程序模拟...

    显示或隐藏任务栏以及托盘里的任意项的源代码

    通过编程接口,我们可以控制任务栏的显示和隐藏,这通常涉及到Windows API(应用程序编程接口)的使用。 3. **Windows API**:API是操作系统为开发者提供的接口,用于与操作系统进行交互。在VB中,我们可以调用API...

    易语言API方式打开网页

    在易语言中,API(应用程序接口)是与操作系统进行交互的重要手段,通过调用Windows API函数,可以实现许多易语言自身支持库无法直接完成的功能,比如在本例中,“API方式打开网页”。 API打开网页主要是利用了...

    pb10-API.rar_PowerBuilder_界面

    PowerBuilder支持使用API(应用程序接口)来扩展其内置功能,允许开发者调用操作系统级别的功能。API调用通常通过PBNI(PowerBuilder Native Interface)或PBL(PowerBuilder Library)实现,这使得开发者能够访问...

    API助手,windows系统API

    在Windows操作系统中,API(Application Programming Interface)是操作系统提供给开发者用于构建应用程序的一系列函数、过程和库。这些API允许开发者访问操作系统的核心功能,如文件管理、网络通信、图形用户界面等...

    Windows API Reference (CHM)

    Windows API(应用程序接口)是微软操作系统的核心组成部分,它为开发者提供了丰富的函数库,使得开发者能够创建与Windows系统紧密交互的应用程序。这个CHM(Compiled Help Manual)文件“Win32_API_Reference.chm”...

    delphi下实现应用程序掉线关闭后自动重启

    在Delphi编程环境中,开发一个应用程序自动检测并重启的功能是一项实用的技术。这个程序的主要目标是确保即使在意外关闭或“掉线”后,程序也能自动恢复运行。以下是一些关于如何实现这一功能的关键知识点: 1. **...

Global site tag (gtag.js) - Google Analytics