C# 检索URI';s";返回代码";?

C# 检索URI';s";返回代码";?,c#,process,uri,protocols,C#,Process,Uri,Protocols,我有以下问题: 我确实知道如何启动进程,也知道如何使用-类,但当我想使用关联(和注册)URI协议启动进程时,我无法检索有关已启动进程的任何信息 我正在使用以下代码: public static int Main(string[] argv) { Process p = Process.Start("myuri://some_arguments"); while (!p.HasExited) Application.DoEvents(); Console

我有以下问题:

我确实知道如何启动进程,也知道如何使用-类,但当我想使用关联(和注册)URI协议启动进程时,我无法检索有关已启动进程的任何信息

我正在使用以下代码:

public static int Main(string[] argv)
{
    Process p = Process.Start("myuri://some_arguments");

    while (!p.HasExited)
        Application.DoEvents();

    Console.WriteLine(p.ExitCode);
    Console.ReadKey(true);

    return 0;
}
当(!p.HasExited)时,我的C#应用程序在第5行
失败,因为变量
p
null

我现在想知道:为什么会这样?最重要的是:

TL;博士:。。。如何检索URI协议的“退出/返回代码”


编辑编号1:from非常有用-但是,我无法使用该类,因为我的目标计算机运行在Windows7上,而不是Windows8或更高版本上

表示
进程。如果无法启动进程,则Start
将返回
null

我认为这不是调用URI处理程序的正确方法。如果您的目标是Windows 8/10,则可以签出
Windows.System.Launcher.launchurisync

要在早期版本的Windows中实现这一点,您可以始终查找注册表以了解URI方案的处理程序程序,因为该处理程序是在Windows注册表中的
HKEY_CLASSES_ROOT
下注册的。有关Java实现和一些官方文档,请参阅。

非常感谢,先生:)问题是-但是-我无法使用有问题的类,因为它需要Windows8(我必须瞄准的机器在Windows7上运行)