0

这是我将数据传递给 C# exe 文件的 PHP 代码。

<?
    shell_exec("p3.exe --tRyMe");
?>

我想要的是,我将一个字符串发布到 p3.exe 文件,该 exe 文件将“tRyme”字符串打印到屏幕上。

using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string a;
            Console.Write("Please enter a string : ");
            a = Console.ReadLine();
            Console.WriteLine("You have entered: {0}", a);
            Console.ReadKey();
        }
    }
}

这是我的 C# 代码。

我已经尝试过“--tRyMe”、“-tRyMe”、“tRyMe”等来做到这一点,但是,此代码仅在屏幕上打印“请输入字符串”。

我想要的是看到如下输出:

您已输入:tRyMe

你能帮我做这件事吗?最好的祝愿。

4

3 回答 3

1

我无法讨论 PHP 代码,但是在 c# 方面,您需要检查从命令行传递给程序的参数数量,如果有参数,不要要求输入,而是打印收到的参数

    static void Main(string[] args)
    {
        string a;
        if(args.Length == 0)
        {
             Console.Write("Please enter a string : ");
             a = Console.ReadLine();
        }
        else
             a = args[0];

        Console.WriteLine("You have entered: {0}", a);
        Console.ReadKey();
    }
于 2013-06-18T22:56:00.590 回答
0

您只能运行应用程序并打印输出,但不能与应用程序交互 - Console.ReadLine() 需要输入......所以您不能使用它(也影响 Console.ReadKey())

尝试这个:

static void Main(string[] args)
{
    string a;
    if(args.Length == 0)
         a = "No arg is given";
    else
         a = args[0];

    Console.WriteLine("You have entered: {0}", a);
}
于 2013-06-18T23:16:25.750 回答
0

没试过,管子有用吗?

<?php
    shell_exec("echo tRyMe | p3.exe");
?>
于 2013-06-18T22:55:32.037 回答