`
zbw
  • 浏览: 46839 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

如何建立自己的协议(转自MSDN)

阅读更多

from Msdn:http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/pluggable/overview/appendix_a.asp

 

To enable an application to handle a particular URL Protocol, you must add a new key, with the appropriate keys and values, to the registry in HKEY_CLASSES_ROOT.

The new registry key must match the protocol scheme that is being added. For instance, to add a "note:" protocol, the key added to HKEY_CLASSES_ROOT should be note. Under this new key, the Default string value should be the display name of the new protocol, and the URL Protocol string value should contain either protocol-specific information or an empty string. Also under the new key, a DefaultIcon key and a shell key should be added. The Default string value under the DefaultIcon key must be the file name to use as an icon for this new URL protocol.

Under the shell key, a key using a verb (such as open) should be added. A command key and a DDEEXEC key may also be added under the key using a verb. The values under the command and DDEEXEC keys are used to call the application.

The following example shows which registry values might be added to register a new application (Notepad.exe in this example) to handle the new URL protocol.

 

HKEY_CLASSES_ROOT
note
(Default) = "URL:Note Protocol"
URL Protocol= ""
DefaultIcon
(Default) = "notepad.exe"
shell
open
command
(Default) = "C:\WINDOWS\notepad.exe" "%1"

 

By adding these settings to the registry, any attempts to navigate to URLs such as "note:C:\MyFile.txt" would attempt to launch Notepad to edit the file C:\MyFile.txt. However, because the URL Protocol handler passes the complete URL string to the application registered in the command, Notepad.exe would be called with the following unanticipated command line syntax:

C:\WINDOWS\notepad.exe "note:C:\MyFile.txt"

Normally, this argument format would be handled by the application that processes the request. However, because Notepad.exe cannot be changed, the protocol prefix must be trimmed from the filename before calling Notepad. The following shell command will trim the prefix from the input string, and pass the rest to Notepad.exe:

@FOR /F "tokens=1* delims=:" %%a IN ("%~1") DO start notepad.exe "%%b"

If the preceding text were saved into a batch file, C:\WINDOWS\Note.cmd for example, the following registry value would correctly launch Notepad.exe with the file specified in the URL string:

 

HKEY_CLASSES_ROOT
note
shell
open
command
(Default) = "C:\WINDOWS\note.cmd" "%1"
分享到:
评论

相关推荐

    msdn下载地址(2001版,保证能下载)

    根据提供的下载链接:`ftp://211.139.39.1/pub/software/program/MSDN_OCT_2001.ISO`,可以得知该版本的MSDN可以通过FTP协议下载。需要注意的是,由于这是一个较旧的版本,可能无法直接访问或者链接已经失效。 ####...

    MSDN资源下载工具

    MSDN资源下载工具是一款专为开发者设计的实用软件,它使得获取MSDN(Microsoft Developer Network)上的各种资源变得更加便捷。MSDN是微软公司提供给开发者的一个综合性的在线平台,包含了微软的各种开发工具、操作...

    MSDN资源查询下载软件

    MSDN资源查询下载软件是一款非常实用的工具,它允许用户无需拥有MSDN(Microsoft Developer Network)账号也能便捷地查询和下载微软的原版软件资源。这个软件的主要目标是为开发者和IT专业人士提供一个方便的途径,...

    share msdn2.3.3.

    "Share MSDN 2.3.3"是一个用于获取MSDN资源的工具,它允许用户免费下载微软的各种软件,如操作系统、开发工具等。MSDN(Microsoft Developer Network)是微软为开发者提供的一系列技术资源和服务的集合,通常包括...

    MSDN Library简体中文版

    这个"MSDN Library简体中文版.torrent"文件很可能是一个种子文件,用于通过BitTorrent协议下载完整的MSDN Library。通过这种共享方式,用户可以从其他已经下载过该库的用户那里获取文件,分担服务器压力并提高下载...

    windows API msdn 开发手册

    网络通信方面,Windows API提供了诸如`socket`、`bind`、`listen`、`accept`、`send`和`recv`等函数,支持TCP/IP协议栈的编程。安全性方面,有`CryptAcquireContext`用于获取加密服务提供者,`CryptGenRandom`生成...

    MSDN 2001版 宋鑫

    MSDN(Microsoft Developer Network)是微软为开发者提供的一套全面的开发资源库,它包含了微软各种操作系统、开发工具和技术的详细文档、API参考、示例代码以及开发人员所需的其他资源。2001版的MSDN是当时最新的...

    Vc++6.0和MSDN的安装

    阅读并接受许可协议,然后可以进行自定义安装。在这里,推荐选择“Typical”(典型安装),这样可以快速完成基础安装。如果需要更全面的功能,也可以选择“Custom”(自定义安装),但对初学者来说,典型安装已经...

    MSDN安装,帮助大家解决安装问题

    3. **接受许可协议**:安装过程中,系统会显示微软的许可协议,仔细阅读并同意后才能继续安装。 4. **选择安装组件**:MSDN包含很多部分,如开发工具、操作系统、库等。你可以根据自己的需求选择要安装的组件。如果...

    msdn for vb6.0

    《VB6.0 MSDN详解》 VB6.0(Visual Basic 6.0),全称为Visual Basic 6.0 Enterprise Edition,是微软公司推出的一款经典的面向对象的编程语言工具,广泛应用于桌面应用开发。其易学易用的特性使得初学者能够快速...

    MSDN.zip_Capture_capture MSDN_msdn

    标题“MSDN.zip_Capture_capture MSDN_msdn”指的是一个关于MSDN(Microsoft Developer Network)的压缩包,其中包含了捕获(capture)相关的MSDN文档,特别是与套接字APIs(Socket APIs)有关的内容。这个压缩包的...

    MSDN VB 6.0

    《VB 6.0编程详解:MSDN程序员指南》 Visual Basic 6.0(简称VB 6.0)是微软公司开发的一款经典的可视化编程工具,尤其...通过MSDN的VB 6.0资源,开发者可以获得详细的文档、示例代码和教程,从而提升自己的编程技能。

    MSDN VC++ MFC类库中文手册

    **MSDN VC++ MFC类库中文手册**是面向C++开发者的重要参考资料,特别是对于那些在Windows平台上使用Microsoft Foundation Class (MFC)库进行应用程序开发的程序员。MFC是一个C++类库,它封装了Windows API,使得开发...

    VC++6.0附MSDN

    **BT种子文件**(VC++6.0附MSDN.torrent)是一种P2P(peer-to-peer)网络共享文件的方式,利用BitTorrent协议进行传输。用户可以通过BT客户端来下载这个种子,从而获取到VC++6.0和MSDN的安装文件。这种方式在当时是...

    iReaper-MSDN中文网Webcast专用下载

    【标题】"iReaper-MSDN中文网Webcast专用下载"揭示了这是一份专为MSDN中文网站的Webcast(网络研讨会)设计的下载资源。iReaper是一款工具,可能用于帮助用户方便地捕获、管理和下载来自MSDN中文网的Webcast内容。 ...

    Winsock Reference(提取自MSDN6.0)

    《Winsock参考手册》是基于MSDN 6.0版本中的Winsock部分,它为网络编程者提供了详尽的Winsock API指南。Winsock,全称为Windows Socket,是微软为Windows操作系统开发的一套网络编程接口,它实现了Berkeley Sockets...

    C#做的FTP客户端 MSDN 示例

    通过这个MSDN示例,开发者可以学习到如何将这些概念转化为实际的代码,理解FTP客户端的实现原理,从而为自己的项目提供FTP功能。无论是开发独立的FTP客户端工具,还是集成到其他应用中,这些知识都将非常实用。

    MSDN Web Development 视频教程地址

    在深入探讨MSDN Web Development视频教程的知识点之前,我们首先需要理解MSDN(Microsoft Developer Network)是什么以及它在软件开发领域扮演的角色。MSDN是微软为软件开发者提供的一系列资源和服务,包括文档、...

    MSDN中所有MFC实例

    通过深入研究这些MFC实例,开发者不仅可以提高自己的编程技巧,还能更好地理解Windows应用程序的内部工作原理。无论是初学者还是经验丰富的开发者,都能从中受益,提升开发效率和代码质量。因此,这个压缩包对于任何...

    VB_MSDN帮助文件安装程序

    《VB_MSDN帮助文件安装程序》是一款专为Visual Basic开发者设计的工具,它包含了丰富的MSDN(Microsoft Developer Network)帮助文档,旨在提供全面、详细的技术支持和学习资源。MSDN是微软公司为开发者提供的一个...

Global site tag (gtag.js) - Google Analytics