【问题标题】:Can't create new program instance using System.Diagnostics无法使用 System.Diagnostics 创建新程序实例
【发布时间】:2013-07-08 00:37:38
【问题描述】:

我的程序的可执行文件名为“foo.exe”,我正试图打开同一程序的另一个窗口。我无法通过创建一个新的 Form1 并显示它来打开另一个窗口,因为我正在使用一个自定义控件。正确打开表单新窗口的唯一方法是再次启动可执行文件“foo.exe”。到目前为止,我已经尝试过:

System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location);
System.Diagnostics.Process.Start("foo.exe");
System.Diagnostics.Process.Start("\\foo.exe");

不幸的是,这些都不起作用。所以我用 .Location 和“foo.exe”都试过了:

System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = (System.Reflection.Assembly.GetExecutingAssembly().Location);
process.Start();

使用任务管理器观察代码后,发现进程 foo.exe 已启动并立即挂起。

当我从命令提示符打开时也会发生同样的事情!我该怎么办?

【问题讨论】:

  • 如果您甚至无法手动启动程序的两个实例,那么您的代码中一定有一些东西阻止了它工作..

标签: c# .net winforms process


【解决方案1】:

你可以试试这个:

System.Diagnostics.Process.Start(Application.StartupPath + @"\YourApplicationName.exe");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 2013-12-14
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    相关资源
    最近更新 更多