C# 一个进程调用另外一个进程并传入参数

本文介绍如何使用C#代码调用TexturePacker工具,实现自动化打包纹理图集的功能。具体步骤包括设置进程参数、重定向输出及错误信息等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,目的如图;

2,实现代码:

<span style="white-space:pre">		</span>//进程所在文件夹
                ProcessStartInfo startInfo = new ProcessStartInfo(Settings.Default.texturePath + @"TexturePacker.exe");
                //重定向输出 
                startInfo.RedirectStandardOutput = true;
                //错误输出
                startInfo.RedirectStandardError = true;
                startInfo.UseShellExecute = false;
                //进程不打开窗口
                startInfo.CreateNoWindow = true;
                //打开进程的时候附带的命令行
                startInfo.Arguments = @"--data " + Settings.Default.imagePath + @"\result\" + count + @".plist --format cocos2d --sheet " + Settings.Default.imagePath + @"\result\" + count + ".png --size-constraints POT --dither-fs-alpha " + " " + Settings.Default.imagePath + @"\temp" + count;
                //开启进程,并读取信息
                result.msg=Process.Start(startInfo).StandardError.ReadToEnd();


C#中,你可以使用`Process`类来创建和管理外部可执行文件(EXE)的运行,包括传递参数。以下是一个基本示例: ```csharp using System.Diagnostics; public class Program { static void Main(string[] args) { // 定义要运行的 EXE 文件路径及参数列表 string exePath = "path_to_your_exe.exe"; string arguments = "param1 value1 param2 value2"; // 参数格式 // 创建 Process 对象 ProcessStartInfo psi = new ProcessStartInfo(exePath); // 设置命令行参数 psi.Arguments = arguments; // 如果你想让进程以新的窗口启动而不是后台运行,可以设置窗体可见性 psi.UseShellExecute = true; // 如果不设置,会打开一个新的非可见窗口 psi.CreateNoWindow = false; // 默认为true,如果设置为false,则创建新窗口 // 设置进程的执行模式(如是否继承当前线程的控制权) psi.RedirectStandardOutput = true; // 如果需要从输出获取数据,可以设置此属性为true // 启动进程 using (Process process = new Process()) { process.StartInfo = psi; process.Start(); // 进程开始后,可以继续处理它的输出(如需) if (psi.RedirectStandardOutput) { Console.WriteLine("执行过程的输出:"); while (!process.StandardOutput.EndOfStream) { string outputLine = process.StandardOutput.ReadLine(); Console.WriteLine(outputLine); } } // 等待进程完成 process.WaitForExit(); // 获取进程退出代码 int exitCode = process.ExitCode; Console.WriteLine($"进程已退出,退出代码: {exitCode}"); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值