Я хотел бы передать аргументы командной строки нового экземпляра моего приложения на уже запущенный (если он существует). До сих пор, я попытался следующее:Передача аргументов командной строки уже запущенному экземпляру моего приложения
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;
//...
}
Значения правильно установлены во втором случае, но не установлены в первом (начатом ранее). Как передать эти значения другому экземпляру моего приложения?
что вы пытаетесь сделать точно? вы хотите установить значение свойства первого экземпляра приложения для аргумента второго экземпляра? – slawekwin
Я хочу использовать второй экземпляр экземпляра в первом экземпляре. – Babu
попробуйте googling что-то вроде «C# pass parameters to running application», например [this] (http://stackoverflow.com/questions/3793997/pass-arguments-to-running-application) может помочь – slawekwin