How to get ProcessStartInfo with arguments from a java process By using C#? -
i trying java process object using c#. thing have several java processes running on computer.
following way chose processes:
process[] processes = process.getprocessesbyname("java"); foreach(process proc in processes){ //i need filter here correct process. }
the java process controlled c# program below:
processstartinfo startinfo = new processstartinfo(); startinfo.filename = javahome + "\\bin\\java.exe"; startinfo.arguments = "-jar example.jar port=88888"; startinfo.workingdirectory = "\\testfolder"; startinfo.useshellexecute = false; startinfo.createnowindow = true; process proc = new process(); proc.startinfo = startinfo; proc.start();
what want go through array of process check 1 has same arguments process object started in program. problem when did this:
console.writeline(proc.startinfo.arguments);
i found there nothing in it, know process started in program. confused me lot.
does know issue?
you can't way. when start process keep handler process in dictionary value process arguments, that's way see archive that.
dictionary<intptr, string> processarguments = new dictionary<intptr,string>(); processstartinfo startinfo = new processstartinfo(); startinfo.filename = javahome + "\\bin\\java.exe"; startinfo.arguments = "-jar example.jar port=88888"; startinfo.workingdirectory = "\\testfolder"; startinfo.useshellexecute = false; startinfo.createnowindow = true; process proc = new process(); proc.startinfo = startinfo; proc.start(); processarguments.add(proc.handle, javahome + "\\bin\\java.exe"); .... process[] processes = process.getprocessesbyname("java"); foreach (process proc in processes) { var arguments = processarguments.where(x => x.key.equals(proc.handle)).firstordefault().value; }
Comments
Post a Comment