C#.net 读取.exe文件

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:19:37
在WEB中能不能在程序中输入一个.exe的路径(该文件是c#写的代码生成的可执行文件)然后读取该exe的内容?
可以的话如何实现?
会的话我加分,全给你都可
不好意思,问题没说清楚
该EXE是客户端上传到服务端的
简单的说就是做一个在线考试系统
程序题自动判断,是控制台程序
就是要在服务端运行这个可执行文件然后读取该文件在控制台显示的内容
可以实现吗?
或者客户端上传源文件服务端运行返回结果
这要如何实现

可以的。

//在这里上传文件

Process p = new Process();
p.StartInfo.FileName = "上传的文件名";
p.StartInfo.UseShellExecute = false;
//重定向标准输入
p.StartInfo.RedirectStandardInput = true;
//重定向标准输出
p.StartInfo.RedirectStandardOutput = true;
//重定向错误输出
p.StartInfo.RedirectStandardError = true;
//设置不显示窗口
p.StartInfo.CreateNoWindow = true;
//启动进程
p.Start();
//可以带参数
p.StandardInput.WriteLine("参数");
//从输出流获取执行结果
string strRst = p.StandardOutput.ReadToEnd();
p.Close();

考试系统 自动评分的话 上传的答案是通过变量或参数的形式发送到服务器端的方法中 进行核对。要是上传文件的话 只能人工进行判定。 程序是无法从文件中直接读取数据的,只能将文件的数据副给变量(参数)传递给程序,程序才能处理。建议:将答案以参数的形式上传给应用程序,然后由应用程序中的方法进行判定,并返回结果,再传给客户端。

这样很难判断考试者的程序是否正确
如果是上传文件,然后在你的系统中调用上传的文件并运行,可以做到,上传就不说了,.net也支持调用 exe文件,形式如下:
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutp