这是我将数据传递到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”,“ - tyyMe”,“tRyMe”等,但是,此代码仅在屏幕上打印“请输入字符串”。
我想要的是看输出如:
你可以帮我这么做吗? 祝福。您已输入:tRyMe
答案 0 :(得分: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();
}
答案 1 :(得分:0)
没有尝试过,管道是否有效?
<?php
shell_exec("echo tRyMe | p3.exe");
?>
答案 2 :(得分: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);
}