金山词霸以前的版本有一个“dic协议”,就是在浏览器中输入dic:xxx就可以调用指定程序(金山词霸)进行动作(检索)。
Outlook也有一个“Outlook协议”,例如在浏览器中的地址栏输入“outlook:收件箱”,就调用Outlook,打开收件箱我想创建一个Text协议。
输入Text:C:\1.txt就用记事本打开C:\1.txt请问如何实现?
如果是程序,请烦劳给出VB6.0的源程序。
如果是向注册表中写数据,请给出具体数据。100分奉送,谢谢!

解决方案 »

  1.   

    我想创建一个Text协议。
    输入Text:C:\1.txt就用记事本打开C:\1.txt如果第一个:前是Text,则使用Shell "notepad.exe c:\1.txt", vbNormalFocus
      

  2.   

    To:online(龙卷风V2.0--再战江湖)
    对于“Text协议”只是举一个例子。
    而且,我输入的地方是IE的地址栏。我的真实想法是,如果我用网页做软件的界面(比如outlook的开始页,VS.net的开始页等等),超连接的用途是执行某些特殊命令,可能就会像outlook那样存在什么“outlook:收件箱”之类的超连接(当然,程序内部会特殊处理它打开收件箱),一旦用户拖拽这个超连接到桌面,就出现了一个指向“outlook:收件箱”的快捷方式,这时用户点击这个快捷方式就必然出错。而Outlook就不出错,因为它在系统里注册了一个“outlook:”协议,就像http协议、ftp协议一样,并调用指定的程序(Outlook)来处理它。如果能创建一个Text协议,把Text:后的字符交给记事本(或者某个程序)作为参数来处理,就可以像outlook一样了。这样做的好处在于:1.方便用户2.界面更加严谨,没有错误。不知道大家是否明白我的意思。
      

  3.   

    似乎没有那么简单,可以参考一下
    http://www.mvps.org/emorcillo/vb6/inet/protocol.shtml
    叫 Asynchronous Pluggable Protocols (协议插件),也可google一下。
      

  4.   

    我想楼主似乎在找这样的东西:html:
    <a href='vb:FileOpen()' title='Open a file'><font color=blue>Open a file</font></a>vb code:
    Public Sub FileOpen()
        Dim objFile As Object    On Error GoTo ErrorHandler    ' Prompt the user for a file to open.
        With ctlCommonDialog
            .CancelError = True
            .Flags = cdlOFNFileMustExist Or cdlOFNHideReadOnly Or cdlOFNPathMustExist
            .Filter = "HTML files (*.html)|*.html|All files (*.*)|*.*"
            .DialogTitle = "Open a file..."
            .ShowOpen
        End With    ' Load the file into the text box and render it.
        Set objFile = CreateObject("Scripting.FileSystemObject")
        txtHTMLSource.Text = objFile.OpenTextFile(ctlCommonDialog.FileName, 1).ReadAll()
        ShowMyHTMLExitPoint:
        Set objFile = Nothing
        Exit SubErrorHandler:
        If Err.Number <> cdlCancel Then
            ctlHTMLView.DocumentHTML = "<html><body>" & _
                                        "<p>Error:</p>" & _
                                        "<p>The file could not be opened.</p>" & _
                                        "</body></html>"
        End If
        Resume ExitPoint
    End Sub如果是的话,发信给我:[email protected],我可以给你源代码
      

  5.   

    IE可以打开啊,如有D:\VB.txt
    就可以在地址栏中打入:D:\VB.txt
      

  6.   

    To: dongge2000(秋日私语:非[版务].灌!) 
    我只是举一个不很恰当的例子,我要创建类似Dic协议的一个本机上的协议,并将协议后面的信息传递给我自己的程序作处理(见前面的帖子),并不是只要实现打开一个文件。主要目的是解决网页做界面的问题。另,VS.Net也有一个帮助协议:ms-help://
    例如ms-help://MS.VSCC.2003/vsccCommon/html/vsccCommon_Start_Page.htm,是调用MSDN文档浏览器来打开某个页面。
    问题是注册协议好像不像注册文件关联那样简单,恳请高手赐教。
      

  7.   

    后台监视地址栏。if left(s,3)=("dic"or"DIC") then
      

  8.   

    GetActiveWindow VB声明 
    Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long 
    说明 
    获得活动窗口的句柄 
    返回值 
    Long,活动窗口的句柄,如没有窗口处于活动状态,则返回零值 
      

  9.   

    参考这个
    http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/networking_node_entry.asp