Làm cách nào để đăng ký giao thức tùy chỉnh với Windows để khi nhấp vào liên kết trong email hoặc trên trang web, ứng dụng của tôi được mở và các tham số từ URL được chuyển đến nó?
Câu trả lời:
Đi đến Start
sau đó trong Find
loại regedit
-> nó sẽ mởRegistry editor
Nhấp Right Mousevào HKEY_CLASSES_ROOT
sau đó New
->Key
testus://sdfsdfsdf
) sau đó Nhấp Right Mousevào testus
-> sau đó New
-> String Value
và thêm URL protocol
mà không có giá trị.New
-> Key
) và tạo phân cấp như testus
-> shell
-> open
-> command
và bên trong command
thay đổi (Default)
đường dẫn mà .exe
bạ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"
Internet Explorer
không Chrome
, hãy truy cập (không hoặc Firefox
) và nhập vào testus:have_you_seen_this_man
mụ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.
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 .
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à.