【问题标题】:Figure the arguments when wpf form is started using Process Class使用 Process Class 启动 wpf 表单时的参数
【发布时间】:2010-02-11 15:41:59
【问题描述】:

我们正在使用此代码来启动 Wpf 表单:

string fileName = @"C:\Test\bin\Debug\WpfTest.exe";
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(fileName);
            psi.Arguments = entryZfName;
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo = psi;
            p.Start();

WpfTest 是一个应用程序,其中包含启动的 WPFForm1.xaml。 如何以这种形式访问在上述代码中设置为 psi 的参数。 它们可以在构造函数中访问吗? 还有如何调试这种情况,换句话说,因为我直接从我无法调试或访问代码的代码中启动 wpftest.exe,是否可以调试它。如果您需要更多信息,请告诉我

【问题讨论】:

    标签: wpf arguments startup


    【解决方案1】:

    您可以从 Environment.GetCommandLineArgs 或从构造函数中获取命令行参数。

    您可以通过在 Visual Studio 中打开其解决方案、转到“调试”菜单并选择“附加到进程”来调试该进程。然后,您可以附加到 WpfTest.exe 并对其进行调试,就像您从 Visual Studio 启动它一样。

    【讨论】:

      【解决方案2】:

      您可以使用 Environment.GetCommandLineArgs 来获取参数。要调试,您可以在 wpf 表单中添加 Debug.Launch(),或者如果您有权访问代码,则可以在要开始调试的地方添加。

      【讨论】:

      • Deepak System.Diagnostics.Debug 没有启动方法
      • 我相信他指的是 System.Diagnostics.Debugger.Launch - msdn.microsoft.com/en-us/library/…
      • 你的意思是这样的:System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(fileName); psi.Arguments = entryZfName; System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo = psi; System.Diagnostics.Debugger.Launch(); p.Start();
      • 不,如果要弹出调试器提示,则必须在 WpfTest.exe 进程中执行 Debugger.Launch()。就像我的回答一样,附加调试器可能更容易。
      猜你喜欢
      • 2021-12-03
      • 1970-01-01
      • 2019-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-20
      • 2012-11-04
      • 1970-01-01
      相关资源
      最近更新 更多