C# 关于ProcessStartInfo类和参数属性的问题?

C# 关于ProcessStartInfo类和参数属性的问题?,c#,winforms,.net-3.5,process,backgroundworker,C#,Winforms,.net 3.5,Process,Backgroundworker,一些示例代码: var psi = new ProcessStartInfo(); psi.FileName = "path to update.exe"; psi.Arguments = "arguments for update.exe"; psi.Verb = "runas"; var process = new Process(); process.StartInfo = psi; process.Start(); process.WaitForExit(); 参考:0xA3。

一些示例代码:

var psi = new ProcessStartInfo();
psi.FileName = "path to update.exe";
psi.Arguments = "arguments for update.exe";
psi.Verb = "runas";

var process = new Process();
process.StartInfo = psi;
process.Start();   
process.WaitForExit();
参考:0xA3。

在代码中以编程方式传递到“.Arguments”属性中的对象类型(如果可能)?通常可以传递int或string类型。我想知道您是否可以传入更复杂的类型,如DirectoryInfo[]或FileInfo[]?有人知道这是否可能吗?如果不是,我就得想出别的办法


为什么??我试图从一个非常大的后台工作人员中删除一些问题代码,唯一的解决方案是将我需要的数据传递到一个进程中,该进程将处理我需要在一个完全不同的进程中完成的工作。问题此问题代码总是在权限上出现-应用程序没有权限。

如果从命令提示符运行.exe,则参数正是您键入的参数(带前导和尾随引号)


使用字符串。

如果在命令提示符下运行.exe,则参数正是您键入的参数(带前导和尾随引号)


使用字符串。

根据定义,该属性属于类型,因此您只能以与在命令行调用该属性时相同的方式向进程传递以空格分隔的参数。

根据定义,该属性属于类型,因此您只能以与在命令行调用该属性时相同的方式向进程传递以空格分隔的参数行。

不,这是不可能的


你应该考虑在你现有的进程中创建一个新的AppDealm。

< P>不,这是不可能的。< /P>

您应该考虑在现有的进程中创建一个新的AppDevices。

UL>
  • 序列化数据,然后可以将结果字符串“管道化”到另一个进程的标准输入中。有关“Process.StandardInput属性”帮助主题的示例,请参见

  • 序列化数据,存储到文件中,然后让其他进程读取此文件,并在参数中传递文件的路径

  • -将对象分配到全局内存中,然后将生成的IntPtr以参数形式传递给另一个进程。

    • 序列化数据,然后可以将结果字符串“管道化”到另一个进程的标准输入中。有关“Process.StandardInput属性”帮助主题的示例,请参见

    • 序列化数据,存储到文件中,然后让其他进程读取此文件,并在参数中传递文件的路径


    -将对象分配到全局内存中,然后以参数形式传递生成的IntPtr,到另一个进程。

    为什么需要单独的进程?我正在将需要提升权限的问题代码发送到另一个单独的.exe文件中。为什么需要单独的进程?我正在将需要提升权限的问题代码发送到另一个单独的.exe文件中。我也这么认为。值得一试:)我也这么想。值得一试:)选项2正是我心目中的替代方案+1.可以进一步详细说明选项1或3吗?@Ibramumtaz:我更新了答案,引用了将字符串传输到另一个进程的示例代码,并删除了第三个选项,因为它太难了。选项2正是我心目中的替代解决方案+1.可以进一步阐述选项1或3吗?@Ibramumtaz:我更新了答案,引用了将字符串传输到另一个进程的示例代码,并删除了第三个选项,因为它太难了。我已经想出了解决方案。我的问题过于复杂,而且很懒。。我可以在代码中进一步后退并使用字符串。我将很快发布我的解决方案。我已经想出了我的解决方案。我的问题过于复杂,而且很懒。。我可以在代码中进一步后退并使用字符串。我将很快发布我的解决方案。