Làm cách nào để đăng ký giao thức URL tùy chỉnh trong Windows?


Câu trả lời:


63
  1. Đi đến Startsau đó trong Findloại regedit-> nó sẽ mởRegistry editor

  2. Nhấp Right Mousevào HKEY_CLASSES_ROOTsau đó New->Key

nhập mô tả hình ảnh ở đây

  1. Trong Khóa, hãy cung cấp tên viết thường mà bạn muốn các url được gọi (trong trường hợp của tôi là như vậy testus://sdfsdfsdf) sau đó Nhấp Right Mousevào testus-> sau đó New-> String Valuevà thêm URL protocolmà không có giá trị.

nhập mô tả hình ảnh ở đây

  1. Sau đó, thêm các mục khác như bạn đã làm với giao thức ( Right Mouse New-> Key) và tạo phân cấp như testus-> shell-> open-> commandvà bên trong commandthay đổi (Default)đường dẫn mà .exebạn muốn khởi chạy, nếu bạn muốn chuyển các tham số cho exe của mình thì hãy bọc đường dẫn thành exe vào ""và thêm "%1"để trông giống như:"c:\testing\test.exe" "%1"

nhập mô tả hình ảnh ở đây

  1. Để kiểm tra xem nó có hoạt động hay Internet Explorerkhông Chrome, hãy truy cập (không hoặc Firefox) và nhập vào testus:have_you_seen_this_manmục này sẽ kích hoạt .exe(cung cấp cho bạn một số lời nhắc mà bạn muốn thực hiện việc này - nói Có) và chuyển vào args testus://have_you_seen_this_man.

Đây là ứng dụng bảng điều khiển mẫu để kiểm tra:

using System;

namespace Testing
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args!= null && args.Length > 0)
            Console.WriteLine(args[0]);
            Console.ReadKey();
        }
    }
}

Hy vọng điều này giúp bạn tiết kiệm thời gian.


3
Wow điều này hoạt động. Và không chỉ trên IE mà còn trên Chrome!
user1974566

36

Tôi nghĩ điều này được đề cập trong MSDN, vui lòng xem Đăng ký ứng dụng với giao thức URL .


5
Tôi đang viết ứng dụng oauth-based và thủ tục được mô tả trong MSDN hoạt động hoàn hảo với Mozilla Firefox và Opera (11.6)
Viktor Latypov

11
Điều này hoạt động trên tất cả các trình duyệt trên Windows. Đó là một thứ cấp hệ điều hành, không phải cấp độ trình duyệt.
Andrew Dunkman

7
Tôi đã ủng hộ, nhưng vui lòng chỉnh sửa câu trả lời để bao gồm thông tin liên quan từ liên kết theo chính sách SO. Cảm ơn!
dotancohen

Phiên bản Windows nào hỗ trợ điều này?
ᆼ ᆺ ᆼ

21

Liên kết MSDN rất hay, nhưng thông tin bảo mật ở đó không đầy đủ. Đăng ký trình xử lý phải chứa "% 1", không phải% 1. Đây là một biện pháp bảo mật vì một số nguồn URL giải mã không chính xác% 20 trước khi gọi trình xử lý giao thức tùy chỉnh của bạn.

Tái bút. Bạn sẽ nhận được toàn bộ URL, không chỉ các tham số URL. Nhưng URL có thể bị xử lý ngược lại, bên cạnh chuyển đổi không gian% 20-> đã được đề cập. Nó giúp thận trọng trong thiết kế cú pháp URL của bạn. Đừng ném vào // ngẫu nhiên, nếu không bạn sẽ vướng vào mớ hỗn độn mà tệp: // là.


Ý bạn chính xác là "lộn xộn mà tệp: //" là gì?
Maleev

6
Không có ánh xạ chính thức của tệp: URL đến đường dẫn cục bộ. Thậm chí không có sự đồng thuận về việc sử dụng hai hoặc ba dấu gạch chéo ở đầu hoặc việc sử dụng dấu gạch chéo về phía trước và phía sau khi đường dẫn tham chiếu đến một thư mục Windows.
MSalters

Nhận xét muộn, tôi biết. Nhưng nó cũng có thể truy cập bằng cách nào đó các thông số URL duy nhất , mà không xử lý giao thức?
Danilo Bargen

2
Điều đó nghe giống như một câu hỏi riêng biệt. Tuy nhiên, vui lòng hiểu rõ các điều khoản của bạn. Trình xử lý giao thức là chương trình nhận URL. "Không có trình xử lý giao thức" thì không ai phân tích cú pháp URL và truy cập các tham số URL.
MSalters
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.