How do you create your own moniker (URL Protocol) on Windows systems?

前端 未结 3 2074
说谎
说谎 2021-01-04 09:51

How do you create your own custom moniker (or URL Protocol) on Windows systems?

Examples:

  • http:
  • mailto:
  • service:
相关标签:
3条回答
  • 2021-01-04 10:23

    Take a look at Creating and Using URL Monikers , About Asynchronous Pluggable Protocols and Registering an Application to a URL Protocol from MSDN

    0 讨论(0)
  • 2021-01-04 10:31

    Inside OLE from Craig Brockschmidt probably has the best coverage on monikers. If you want to dig a little deeper into this topic, I'd recommend getting this book. It is also contained on the MSDN disk that came along with VS 6.0, in case you still have that.

    0 讨论(0)
  • 2021-01-04 10:32

    Here's some old Delphi code we used as a way to get shortcuts in a web application to start a windows program locally for the user.

    procedure InstallIntoRegistry;
    var
      Reg: TRegistry;
    begin
      Reg := TRegistry.Create;
      try
        Reg.RootKey := HKEY_CLASSES_ROOT;
        if Reg.OpenKey('moniker', True) then
        begin
          Reg.WriteString('', 'URL:Name of moniker');
          Reg.WriteString('URL Protocol', '');
          Reg.WriteString('Source Filter', '{E436EBB6-524F-11CE-9F53-0020AF0BA770}');
          Reg.WriteInteger('EditFlags', 2);
    
          if Reg.OpenKey('shell\open\command', True) then
          begin
            Reg.WriteString('', '"' + ParamStr(0) + '" "%1"');
          end;
        end else begin
          MessageBox(0, 'You do not have the necessary access rights to complete this installation!' + Chr(13) +
            'Please make sure you are logged in with a user account with administrative rights!', 'Access denied', 0);
          Exit;
        end;
      finally
        FreeAndNil(Reg);
      end;
    
      MessageBox(0, 'Application WebStart has been installed successfully!', 'Installed', 0);
    end;
    
    0 讨论(0)
提交回复
热议问题