赞
踩
C# 程序启动另外一个exe的时候传参数
- using System.Diagnostics;
-
- public void StartAnotherProcessWithArguments()
- {
- // 创建ProcessStartInfo实例
- ProcessStartInfo startInfo = new ProcessStartInfo();
-
- // 设置要执行的程序路径
- startInfo.FileName = @"C:\Path\To\Your\Executable.exe";
-
- // 设置传递给程序的参数
- startInfo.Arguments = @"C:\Some\Other\Path"; // 这里填入作为参数传递的路径
-
- // 设置其他选项,如是否使用Shell执行(这里假设不需要)
- startInfo.UseShellExecute = false;
- startInfo.CreateNoWindow = true; // 如果不需要显示窗口
-
- // 创建并启动进程
- using (Process process = new Process())
- {
- process.StartInfo = startInfo;
- process.Start();
- }
- }
-
- // 接收参数的被启动程序的Main方法示例:
- using System;
-
- class YourProgram
- {
- static void Main(string[] args)
- {
- if (args.Length > 0)
- {
- string receivedPath = args[0]; // 获取第一个参数,假设这就是我们传递的路径
-
- Console.WriteLine($"Received path: {receivedPath}");
-
- // 在这里处理接收到的路径
- // ...
- }
- else
- {
- Console.WriteLine("No argument was passed.");
- }
- }
- }
启动另一个exe并需要传递多个参数时,可以将所有参数作为单个字符串,在参数之间用空格分隔,然后设置到ProcessStartInfo.Arguments
属性中。
- using System.Diagnostics;
-
- public void StartAnotherProcessWithArguments()
- {
- // 创建ProcessStartInfo实例
- ProcessStartInfo startInfo = new ProcessStartInfo();
-
- // 设置要执行的程序路径
- startInfo.FileName = @"C:\Path\To\Your\Executable.exe";
-
- // 设置传递给程序的参数
- // 假设我们有两个参数,一个是路径,另一个是选项
- string arg1 = @"C:\Some\Path";
- string arg2 = "OptionValue";
- startInfo.Arguments = $"{arg1} {arg2}";
-
- // 设置其他选项,如是否使用Shell执行(这里假设不需要)
- startInfo.UseShellExecute = false;
- startInfo.CreateNoWindow = true; // 如果不需要显示窗口
-
- // 创建并启动进程
- using (Process process = new Process())
- {
- process.StartInfo = startInfo;
- process.Start();
- }
- }
-
- // 接收参数的被启动程序的Main方法示例:
- static void Main(string[] args)
- {
- // 参数会被解析为字符串数组
- // args[0] 应该是 "C:\Some\Path"
- // args[1] 应该是 "OptionValue"
-
- Console.WriteLine($"参数数量: {args.Length}");
- for (int i = 0; i < args.Length; i++)
- {
- Console.WriteLine($"参数{i}: {args[i]}");
- }
-
- // 根据参数进行相应操作...
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。