首页 > Windows开发 > 详细

C#执行命令行(兼容32位64位)

时间:2020-11-05 11:40:35      阅读:47      评论:0      收藏:0      [点我收藏+]
private bool runCmd(string cmd)
        {
            var output = string.Empty;
            var p = new Process();
            p.StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            p.OutputDataReceived += (sender, args) => { output += args.Data; };
            p.StartInfo.FileName = Path.Combine(Environment.GetFolderPath(Environment.Is64BitProcess ? Environment.SpecialFolder.System : Environment.SpecialFolder.SystemX86), "cmd.exe");
            p.StartInfo.Arguments = @"/C " + cmd;
            p.StartInfo.Arguments += "&&echo 1";
            p.StartInfo.Verb = "runas";
            p.Start();
            p.StandardInput.AutoFlush = true;
            p.BeginErrorReadLine();
            p.BeginOutputReadLine();
            p.WaitForExit();

            var resultCode = 0;
            if (int.TryParse(output, out resultCode))
            {
                if (resultCode == 1)
                    return true;
            }

            return false;
        }

 

C#执行命令行(兼容32位64位)

原文:https://www.cnblogs.com/nanfei/p/13929943.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!