【发布时间】:2021-12-18 22:00:35
【问题描述】:
如何使用以下代码启动 2 个进程:
Process.Start(@"D:\Clients\Client1\program.exe");
Process.Start(@"D:\Clients\Client2\program.exe");
路由正常,第一个进程总是打开
两个应用程序都是一样的,第一个应用程序为我打开成功,但第二个应用程序没有打开。 对于我在详细信息页面的任务管理器中注意到的第二个应用程序,该应用程序出现了几秒钟然后消失并且没有打开 如果我手动打开应用程序,它可以工作。
我对如何使用 Process.Start () 启动应用程序感兴趣?
【问题讨论】:
-
您是否知道该应用程序在任何时候都只允许其自身的一个实例运行
-
@Steve,我不知道,我只知道如果我手动运行它对我有用
-
如果您创建一个启动这两个程序的 BAT 文件(或 CMD 文件),一个接一个地启动(就像您在上面所做的那样),您会看到相同的行为吗?
@echo off、D:\Clients\Client1\program.exe和D:\Clients\Client2\program.exe之类的东西在不同的行上。 -
顺便说一句,如果我的 BAT 文件测试显示批处理文件发生了相同的行为,那么问题出在
program.exe。可能(如@Steve)指出该程序只允许运行单个实例。也可能是程序试图获得某个资源的排他锁。它第一次成功,但第二次失败并出现未捕获的异常。如果是这种情况,您可能会在事件日志(Windows 事件日志)中看到一些提示 -
@Flydog57 我尝试使用 .bat 文件运行它们,并且只打开了一个应用程序实例。谢谢
标签: c# system.diagnostics