限制System.Diagnostics.Process启动的进程

时间:2012-04-03 12:43:10

标签: .net security c#-4.0 process

我使用Process类创建了一个进程。现在我需要限制所有这些新进程可以访问的内容,如访问Internet,l或特殊目录的权限。 怎么做到呢。 到目前为止,我的代码是这样的。

Process p = new Process()
            {
                StartInfo = new ProcessStartInfo(executablePath) { 
                CreateNoWindow = true,
                ErrorDialog = false,
                RedirectStandardError = true,
                RedirectStandardInput = true,
                RedirectStandardOutput = true,
                WindowStyle = ProcessWindowStyle.Hidden,
                StandardErrorEncoding = Encoding.UTF8,
                StandardOutputEncoding = Encoding.UTF8,
                UseShellExecute = false,
                }
            };
            p.Start();

            var outputStreamReader = p.StandardOutput;
            var inputStreamWriter = p.StandardInput;
            var errorStreamReader = p.StandardError;

            p.WaitForExit();

            string output = outputStreamReader.ReadToEnd();
            string s = "";

1 个答案:

答案 0 :(得分:1)

您可以通过使用受限制的用户帐户启动流程来限制流程 - 您需要将UserNamePasswordSecureString)传递给{ {3}}或在启动之前直接在Process上。