'창 숨기기'에 해당되는 글 1건

  1. 2009.10.24 C# CMD창 안띄우고 명령어 주고 받기 by 아르다

CMD창으로 데이터를 입출력 하기 위해서 여기저가 찾다가 완성한 코드입니다.
당연히 남겨놔야 까먹어도 다시 쓸수 있기때문에 남겨놓습니다.

Process 클레스를 사용하기 위하여 Diagnostics를 using합니다.
ProcessStartInfo 클레스를 사용하여 cmd창으로 보낼 설정을 합니다.

            ProcessStartInfo cmd = new ProcessStartInfo();
            Process process = new Process();
            cmd.FileName = @"cmd";
            cmd.WindowStyle = ProcessWindowStyle.Hidden;             // cmd창이 숨겨지도록 하기
              cmd.CreateNoWindow = true;                               // cmd창을 띄우지 안도록 하기

              cmd.UseShellExecute = false;
            cmd.RedirectStandardOutput = true;        // cmd창에서 데이터를 가져오기
              cmd.RedirectStandardInput = true;          // cmd창으로 데이터 보내기
              cmd.RedirectStandardError = true;          // cmd창에서 오류 내용 가져오기

다음 Process 클레스에서 Process 클레스에서 cmd 를 적용해줍니다.
그리고 사용합니다!!

            process.EnableRaisingEvents = false;
            process.StartInfo = cmd;                        
            process.Start();
            process.StandardInput.Write(@"명령어를 넣으면 된다" + Environment.NewLine);
            // 명령어를 보낼때는 꼭 마무리를 해줘야 한다. 그래서 마지막에 NewLine가 필요하다
            process.StandardInput.Close();

            string result = process.StandardOutput.ReadToEnd();
            StringBuilder sb = new StringBuilder();
            sb.Append ("[Result Info]"+DateTime.Now+"\r\n");
            sb.Append(result);
            sb.Append("\r\n");

            textBox1.Text = sb.ToString();
            process.WaitForExit();
            process.Close();

위 코드들을 하나의 클레스에 넣고 사용하면 됩니다.

저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 아르다

댓글을 달아 주세요

티스토리 툴바