안녕하십니까? QnA 에서 많은 도움을 받고 있읍니다. 이 자리를 빌어 감사드립니다.
여기에 나온 예제중에 DOS 콘솔 프로그램에 관한 질문입니다.
하고자 하는 일은
도스프로그램 실행시 파일을 읽어서 도스창으로 결과를 내보내는데 이를 받을 생각입니다.
(stdout 를 사용해도 좋고, > 를 사용하여 파일로 받아도 됩니다)
도스에서는 MyDos.exe testfile > result 하면 result 파일이 생성됩니다.
제가 해본 경우로는
<
QNA 에서
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=20440
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=1784
등등 createpipe, createprocess 로 써치 하였습니다.
>
1. WinXP에서는
.CreateProcess 이던지, 파이프를 작성해서 리다이렉션을 받던지 잘됨.
.ShellExecute 도 됩니다. 물론 프로세스의 종료는 모릅니다.
2. Win98 에서는
.도스의 리다이렉션 명령이 먹지 않습니다.
.그래서 pipe를 사용하기 위해 QnA의 여러 경우를 해 보았습니다만 함수 종료 후
결과는 화면에 표시하나 프로그램이 죽고, 혹시 그렇지 않는 경우라도 Ctrl+Rlt+DEL 을
눌러보면 Winoldap 라는 프로세서가 그대로 살아 있습니다.
프로그램을 실행시키면 실행시키는대로 Winoldap 의 수는 계속 증가합니다.
이상입니다.
Win98 이나 WinXP 모드에서 동작하기를 원하는데 혹시 방법이 있을지요.
감사합니다.
|