在线程中调用UI应用程序

时间:2011-03-02 10:19:12

标签: c# multithreading user-interface command-line

我有2个exe(A,B)和一个dll(C)。

A是用户使用参数-ui或-file_path从命令行调用的exe。

如果传递了-ui:B用于显示UI。 如果传递了-file_path,则C用于进一步的功能。

如果传递了-ui,我使用下面的代码(在Main方法中):

 System.Threading.Thread a = new System.Threading.Thread(yah);
 a.Start();

 static void yah()
 {
     SyngoViaInstallerUI.Program.Main();
 }

但它会阻止调用exe A的命令行。是否可以取消阻止cmdLine,或者我应该为-ui参数创建一个新进程?

感谢。

2 个答案:

答案 0 :(得分:3)

你必须为B创建单独的进程才能释放进程A并正常完成。

答案 1 :(得分:0)

以下代码有效,但这是正确的方法吗?

System.Diagnostics.Process pr = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName = @"file_path";
pr.StartInfo = psi;
pr.Start();

感谢。