ฉันจะลงทะเบียนโปรโตคอลที่กำหนดเองกับ Windows ได้อย่างไรเมื่อคลิกลิงก์ในอีเมลหรือบนหน้าเว็บแอปพลิเคชันของฉันจะเปิดขึ้นและพารามิเตอร์จาก URL จะถูกส่งไปยังโปรโตคอลนั้น
ฉันจะลงทะเบียนโปรโตคอลที่กำหนดเองกับ Windows ได้อย่างไรเมื่อคลิกลิงก์ในอีเมลหรือบนหน้าเว็บแอปพลิเคชันของฉันจะเปิดขึ้นและพารามิเตอร์จาก URL จะถูกส่งไปยังโปรโตคอลนั้น
คำตอบ:
ไปที่Start
แล้วในFind
ประเภทregedit
-> ควรเปิดRegistry editor
คลิกRight MouseบนHKEY_CLASSES_ROOT
แล้วNew
->Key
testus://sdfsdfsdf
) จากนั้นคลิกRight Mouseที่testus
-> แล้วNew
-> String Value
และเพิ่มURL protocol
โดยไม่มีค่าNew
-> Key
) และสร้างลำดับชั้นเช่นtestus
-> shell
-> open
-> command
และภายในcommand
เปลี่ยน(Default)
เส้นทางที่.exe
คุณต้องการเปิดคือถ้าคุณต้องการส่งผ่านพารามิเตอร์ไปยัง exe ของคุณให้ตัดพา ธ ไปที่ exe ใน""
และเพิ่ม"%1"
ให้มีลักษณะดังนี้:"c:\testing\test.exe" "%1"
Internet Explorer
(ไม่ได้Chrome
หรือFirefox
) และป้อนtestus:have_you_seen_this_man
นี้ควรยิงของคุณ.exe
(ให้แจ้งบางอย่างที่คุณต้องการที่จะทำเช่นนี้ - พูดใช่) และผ่านเข้าไปใน testus://have_you_seen_this_man
argsนี่คือตัวอย่างแอปคอนโซลที่จะทดสอบ:
using System;
namespace Testing
{
class Program
{
static void Main(string[] args)
{
if (args!= null && args.Length > 0)
Console.WriteLine(args[0]);
Console.ReadKey();
}
}
}
หวังว่านี่จะช่วยคุณประหยัดเวลาได้บ้าง
ผมคิดว่านี่จะครอบคลุมใน MSDN โปรดดูการลงทะเบียนโปรแกรมประยุกต์กับพิธีสาร URL
ลิงก์ MSDN นั้นดี แต่ข้อมูลความปลอดภัยยังไม่สมบูรณ์ การลงทะเบียนตัวจัดการควรมี "% 1" ไม่ใช่% 1 นี่เป็นมาตรการรักษาความปลอดภัยเนื่องจากแหล่งที่มา URL บางแห่งถอดรหัส% 20 ไม่ถูกต้องก่อนเรียกใช้ตัวจัดการโปรโตคอลที่กำหนดเอง
ปล. คุณจะได้รับ URL ทั้งหมดไม่ใช่แค่พารามิเตอร์ URL แต่ URL อาจมีการกระทำที่ไม่เหมาะสมนอกเหนือจากการแปลงพื้นที่% 20-> ที่กล่าวถึงแล้ว ช่วยให้ระมัดระวังในการออกแบบไวยากรณ์ URL ของคุณ อย่าสุ่ม // ไม่งั้นคุณจะยุ่งกับไฟล์ที่: // is.