我想将我的应用程序的新实例的命令行参数传递给已经运行的应用程序(如果存在)。到目前为止,我尝试了以下内容:
Program.cs的
string[] Arguments = Environment.GetCommandLineArgs();
int iCurrentProcessID = -1;
using (Mutex mutex = new Mutex(true, Arguments[1], out createdNew)) //Finding if application is running or not
{
Process current = Process.GetCurrentProcess();
iCurrentProcessID = current.Id;
if (createdNew)
{
Application.Run(Frm1);
}
else
{
// Process current = Process.GetCurrentProcess();
Process CurrentAutomation = Process.GetProcessById(iCurrentProcessID);
string[] strArguments = Environment.GetCommandLineArgs();
if (!string.IsNullOrWhiteSpace(strArguments[2]))
{
frmMain.strEndtime = strArguments[2];
}
Form.cs
public partial class frmMain : Form
{
public static string strEndtime;
//...
}
在第二个实例中正确设置了值,但未在第一个实例(先前启动)中设置。如何将这些值传递给我的应用程序的另一个实例?