C# 从asp.net启动外部程序
我有一个关于从asp.net网站启动外部应用程序的问题。现在我认为有安全措施可以防止这种情况发生,我知道这不是一个好的做法,但对于我正在开发的内部网站来说,能够做到这一点是非常方便的 到目前为止,我已经找到了可以启动外部应用程序的地方,如果我在本地运行服务器(在调试中),那么它就可以正常工作。当我将文件发布到我的Web服务器时,它将不再工作。我知道我的文件路径将与我想象的不同,但如何检查本地文件是否存在?或者我可以吗 这是我的代码:C# 从asp.net启动外部程序,c#,asp.net,.net-4.0,launching-application,C#,Asp.net,.net 4.0,Launching Application,我有一个关于从asp.net网站启动外部应用程序的问题。现在我认为有安全措施可以防止这种情况发生,我知道这不是一个好的做法,但对于我正在开发的内部网站来说,能够做到这一点是非常方便的 到目前为止,我已经找到了可以启动外部应用程序的地方,如果我在本地运行服务器(在调试中),那么它就可以正常工作。当我将文件发布到我的Web服务器时,它将不再工作。我知道我的文件路径将与我想象的不同,但如何检查本地文件是否存在?或者我可以吗 这是我的代码: //the actual launch button on t
//the actual launch button on the page
protected void btnLaunchTnet_Click(object sender, EventArgs e)
{
string tnetpath = "c:\path\tnet.exe";
RunProcess(tnetpath, "");
}
private void RunProcess(string cmd, string arguments)
{
System.Diagnostics.Process p;
p = new System.Diagnostics.Process();
p.StartInfo.FileName = cmd;
if (arguments.Length > 1)
{
p.StartInfo.Arguments = arguments;
}
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
p.StartInfo.RedirectStandardOutput = false;
p.StartInfo.UseShellExecute = false;
p.Start();
}
我还有一个快速的“检查此文件是否存在”,我用它来禁用或启用启动应用程序的按钮
private bool CheckFileExists(string filepath)
{
FileInfo SetupPath = new FileInfo(filepath);
return SetupPath.Exists;
}
听起来你想在客户机上启动一个程序 你不能那样做
如果您在同一个域上并使用Windows身份验证,则应该能够使用模拟和SysInternals PsExec.exe远程启动进程。听起来您想在客户端计算机上启动程序 你不能那样做
如果您在同一个域上并使用Windows身份验证,则应该能够使用模拟和SysInternals PsExec.exe远程启动进程。我知道一种使用ActiveX控件的方法,但它只能与Internet Explorer一起使用
看看这个。我知道一种使用ActiveX控件的方法,但是它只适用于Internet Explorer
看看这个。我只是在写@Slaks写的东西,但是用了更多的词 浏览网页时,会发生以下情况
这应该足够让您了解为什么不能以您想要的方式启动流程,但如果您看不到,请告诉我,我将进一步解释。我只写@Slaks写的内容,但使用了更多的单词 浏览网页时,会发生以下情况
这应该足够让您了解为什么不能按您想要的方式启动进程,但如果看不到,请告诉我,我将作进一步解释。注意,您应该在tnetpath字符串之前使用@,以避免反斜杠:@“c:\path\tnet.exe”或“c:\\path\\tnet.exe”是的,我注意到我没有把它复制过来。不过,感谢您捕捉到这一点。请注意,您应该在tnetpath字符串之前使用@,以避开反斜杠:@“c:\path\tnet.exe”或“c:\\path\\tnet.exe”是的,我注意到我没有复制它。谢谢你抓住了,好的。这是我可以调查的。不过,这只是在后台以用户的身份启动程序,还是会为用户实际弹出程序?比如说,如果我想从网站上为用户启动某种类型的客户端应用程序。这是我可以调查的。不过,这只是在后台以用户的身份启动程序,还是会为用户实际弹出程序?比如说,如果我想从网站上为用户启动某种类型的客户端应用程序,我将对此进行研究。我们(不幸的)主要使用IE,所以如果这是唯一的方法,这可能对我们有用。谢谢你的链接!好的,这就是我最终要走的路线,我让它按照我需要的方式工作。再次感谢!我会调查的。我们(不幸的)主要使用IE,所以如果这是唯一的方法,这可能对我们有用。谢谢你的链接!好的,这就是我最终要走的路线,我让它按照我需要的方式工作。再次感谢!