我正在制作一个应用程序,它允许客户端在对话框中列出所有正在运行的进程。我目前有以下代码,但我无法弄清楚它为什么不起作用。
我没有看到任何输出,无论是 sderr 还是 stdout。有人可以指出我正确的方向吗?
非常感谢
private void button1_Click(object sender, EventArgs e)
{
string test = " ";
var ss = new SecureString();
ss.AppendChar('T');
ss.AppendChar('a');
ss.AppendChar('k');
ss.AppendChar('e');
ss.AppendChar('c');
ss.AppendChar('a');
ss.AppendChar('r');
ss.AppendChar('e');
ss.AppendChar('9');
ss.AppendChar('9');
ss.MakeReadOnly();
var serverName = "SERVER-NAME";
var sessionID = "2";
var PID = "6816";
ProcessStartInfo startInfo = new ProcessStartInfo("cmd", "/C tasklist /S " + serverName + " /FI \"SESSION eq " + sessionID + "\" >C:\\users\\test.account\\desktop\\NEWEWE.txt")
{
WorkingDirectory = @"C:\windows\system32",
Verb = "runas",
Domain = "BARDOM1",
UserName = "XATest",
Password = ss,
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
Process proc = Process.Start(startInfo);
proc.OutputDataReceived += (x, y) => test += (y.Data);
proc.BeginOutputReadLine();
proc.WaitForExit();
MessageBox.Show(test);
MessageBox.Show("done");
我尝试将重定向输出设置为 true 和 false,并尝试在 CMD 命令中设置 >c:... 的各种属性,但根本看不到任何输出。
对此的任何帮助都非常感谢!非常感谢