Как получить пользовательские данные протокола внутри winform
Привет, я пытаюсь получить пользовательское значение протокола внутри моей winform,
я использовал этот код для регистрации ключей
using (var key = Registry.CurrentUser.CreateSubKey("SOFTWARE\\Classes\\" + "sample")) { string applicationLocation = typeof(App).Assembly.Location; key.SetValue("", "URL:" + "CUSTOMPROTOCOL"); key.SetValue("URL Protocol", ""); using (var defaultIcon = key.CreateSubKey("DefaultIcon")) { defaultIcon.SetValue("", applicationLocation + ",1"); } using (var commandKey = key.CreateSubKey(@"shell\open\command")) { commandKey.SetValue("", "\"" + applicationLocation + "\" \"%1\""); } }
и у меня есть этот код, чтобы получить пользовательское значение протокола
<pre>static void Main(string[] args) { if(args.Length > 0) { if (Uri.TryCreate(args[0], UriKind.Absolute, out var uri) && string.Equals(uri.Scheme, UriScheme, StringComparison.OrdinalIgnoreCase)) { // TODO do something with the uri } } }
но его можно использовать только с консолью,
есть ли в любом случае, чтобы получить значение внутри winform? или я могу использовать program.cs, чтобы получить значение и вставить его в свою winform?
Что я уже пробовал:
я попытался использовать program.cs, чтобы получить значение, но я не мог сделать публичную строку, чтобы получить значение из моей winform