asp.net Webサイトから外部アプリケーションを起動する際に質問があります。今は、それを防ぐためのセキュリティ対策があると思います。それは良い方法ではないことは分かっていますが、私が開発しているイントラネットサイトでは、これを行うには非常に便利です。asp.netから外部プログラムを起動する
これまでのところ、サーバーをローカルで(デバッグ時に)実行していて、外部アプリケーションを起動できる場所が見つかりました。ファイルをWebサーバーに公開すると、もう機能しません。私のファイルパスは私が想像しているものと違ってくるかもしれませんが、ローカルファイルが存在するかどうかをどうやって確認できますか?または私はできますか?
だからここに私のコードです:
//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;
}
@ "c:\ path \ tnet.exe"または "c:\\ path \\ tnet.exe" – SimpleVar
うん、私はそれに気付いたことがあるので、バックスラッシュをエスケープするために、tnetpath文字列の前に@私はそれをコピーしなかった。しかし、それをキャッチするためにありがとう。 – Seril