【问题标题】:adding a user input into c# process将用户输入添加到 c# 进程中
【发布时间】:2016-05-03 16:29:03
【问题描述】:

所以我尝试制作一个 ip pinger 以查看服务器是否在线并且到目前为止我想要它,以便用户可以从文本框中输入自己的 ip。但在开始部分不断出现错误。

错误 CS1501 方法“Start”没有重载需要 3 个参数

System.Diagnostics.Process.Start ("cmd", "/k ping"  + flatTextBox1.Text ,"-t");

【问题讨论】:

标签: c# process cmd ping


【解决方案1】:

我在这里看到了几个问题:

首先,"-t" 被用作第三个参数,因为它前面有逗号。您应该将其添加到您正在使用"/k" 结合 IP 地址构建的字符串中。

接下来,给定文本框文本是 "127.0.0.1",这目前最终会是:/k ping127.0.0.1

所以您可以在“ping”和 IP 之间添加一个空格。

但是:您不应该为此使用 cmd.exe,请考虑使用 .NET 框架中的 Ping class

【讨论】:

  • 非常有帮助 我的目标是让用户在文本框中输入一个 IP 地址,然后用一个按钮启动 cmd 并自动写一行“ping 127.0.0.0 -t”这样行吗?
  • 是的,只需使用您的代码行:Process.Start("cmd", "/k ping 127.0.0.1 -t");
  • 但是我需要在哪里放置 +flat text.Text 以便它不会给我一个错误
  • Process.Start("cmd", "/k ping " + flatTextBox1.Text + " -t");
  • 现在的问题是,如果您能够将 ping 作为一个进程启动,您能否将任何信息返回到您的程序中?如编辑后的答案所述,如果您的目标是检查服务器是否在线,也许您应该查看 .NET 框架中的 ping 类。
【解决方案2】:

尝试使用 ProcessStartInfo:

ProcessStartInfo startInfo = new ProcessStartInfo("cmd");
startInfo.Arguments = "/k ping " + flatTextBox1.Text + " -t";
Process.Start(startInfo);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 2016-01-31
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多