C#如何获取一个正在运行的EXE中的参数值

C#winform程序如何获取另一个运行在本机的EXE程序Main(arge[]string)传入的参数值?能为点注释么,,,衰... C#winform程序如何获取另一个运行在本机的EXE程序Main(arge[]string)传入的参数值?
能为点注释么,,,衰
展开
 我来答
Fade1234
2010-12-31 · TA获得超过1100个赞
知道小有建树答主
回答量:945
采纳率:0%
帮助的人:855万
展开全部
用这段代码. 这个就是用wmi查询运行中的进程,最后把名字标题路径命令行参数塞到一个dataTable里面,然后你就在这个table里面找你要的进程就行了,每行是一个进程

# public static DataTable GetRunningProcesses()
# {
# //One way of constructing a query
# string wmiClass = "Win32_Process";
# string condition = "";
# string[] queryProperties = new string[] { "Name", "ProcessId", "Caption", "ExecutablePath", "CommandLine" };
# SelectQuery wmiQuery = new SelectQuery(wmiClass, condition, queryProperties);
# ManagementScope scope = new System.Management.ManagementScope(@"\\.\root\CIMV2");
#
# ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, wmiQuery);
# ManagementObjectCollection runningProcesses = searcher.Get();
#
# DataTable queryResults = new DataTable();
# queryResults.Columns.Add("Name", Type.GetType("System.String"));
# queryResults.Columns.Add("ProcessId", Type.GetType("System.Int32"));
# queryResults.Columns.Add("Caption", Type.GetType("System.String"));
# queryResults.Columns.Add("Path", Type.GetType("System.String"));
# queryResults.Columns.Add("CommandLine", Type.GetType("System.String"));
#
# foreach(ManagementObject obj in runningProcesses)
# {
# DataRow row = queryResults.NewRow();
# row["Name"] = obj["Name"].ToString();
# row["ProcessId"] = Convert.ToInt32(obj["ProcessId"]);
# if (obj["Caption"]!= null)
# row["Caption"] = obj["Caption"].ToString();
# if (obj["ExecutablePath"]!= null)
# row["Path"] = obj["ExecutablePath"].ToString();
# if(obj["CommandLine"] != null)
# row["CommandLine"] = obj["CommandLine"].ToString();
# queryResults.Rows.Add( row );
# }
# return queryResults;
# }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式