Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在运行EXE文件C后插入参数_C#_Exe - Fatal编程技术网

C# 如何在运行EXE文件C后插入参数

C# 如何在运行EXE文件C后插入参数,c#,exe,C#,Exe,在使用代码而不是手动执行EXE文件后,如何将参数插入EXE文件 我尝试在Process.StartInfo.arguments的参数中插入,但没有成功。 试图在网站中查找,但没有找到有用的内容 [P1.StartInfo.WorkingDirectory = @"D:\try"; P1.StartInfo.FileName = "CMD.exe"; P1.StartInfo.Arguments = "/k cmbs_tcx.exe -han";

在使用代码而不是手动执行EXE文件后,如何将参数插入EXE文件

我尝试在Process.StartInfo.arguments的参数中插入,但没有成功。 试图在网站中查找,但没有找到有用的内容

[P1.StartInfo.WorkingDirectory = @"D:\try";
            P1.StartInfo.FileName = "CMD.exe";
            P1.StartInfo.Arguments = "/k cmbs_tcx.exe -han";
            P1.StartInfo.UseShellExecute = true;
            P1.StartInfo.CreateNoWindow = true;
            P2.StartInfo.WorkingDirectory = P1.StartInfo.WorkingDirectory;
            P2.StartInfo.FileName = P1.StartInfo.FileName;
            P2.StartInfo.Arguments = "/k han_client.exe 127.0.0.1 & 1 6 0 2 1 3 0 0 0 1 1 32534 1 4 0 2 0 2";
            P2.StartInfo.UseShellExecute = true;
            P2.StartInfo.CreateNoWindow = true;
            P1.Start();
            P2.Start();][1]
我期待看到EXE在获得最新参数后运行。该链接包含一些图片,这些图片描述了打开文件后看到的内容,我想给出激活菜单的参数


为了将参数作为命令行参数传递,目标应用程序需要显式支持该参数并解析其命令行-我猜情况并非如此

如果幸运的话,应用程序正在使用标准输入读取值-如果是这样,您只需在启动前设置P2.StartInfo.RedirectStandardInput=true,然后使用P2.StandardInput.WriteLine将值写入程序

如果您运气不好,且应用程序使用其他方式读取键盘输入,则需要使用以下方式将窗口置于前台:

[DllImport("user32.dll")]
static extern bool SetForegroundWindow(IntPtr hWnd);

在应用程序启动后向其传递P2.Handle值,然后使用SendKeys.Send或SendKeys.SendWait向其发送击键。但是,我不建议在任何类型的生产代码中使用它。

通过google drive共享图像不是一种可接受的共享图像的方式。请编辑以使用标准方法。P1是什么数据类型?如果你想看到exe,也许你应该设置CreateNoWindow=false。为什么要通过cmd运行这些可执行文件?如果它们是控制台应用程序,则可以直接运行它们。通常效果更好。请使用ProcessStartInfo.RedirectStandardInput。感谢所有帮助!这一行P2.StandardInput.WriteLine-它的工作非常出色!