흑.. 그동안 답변해 주시던 분들이 없었는데.. 신경써주시니 너무 고맙네요~ ㅠ.ㅠ
근데 제 상황이 도스 프로그램을 실행시켜서 결과도 받으면서,
그 프로세스를 종료시키거나 하는 기능도 써야되거든요.
그런데 리다이렉션 기호(>>, <<)를 사용하면 CreateProcess가 실행이 안되더라구요.
98에 있는 컴퓨터에서는 그 소스 코드가 잘 동작하는데요..
단지 2000에서 안되네요.
그럼.. 결국 해결책은 없는건가요 T_T
아무튼 고맙습니다.
박정모 님이 쓰신 글 :
:
: 저도 정확한 이유를 모르고 있습니다.
: 단지, 상상하건데 CGI등의 서비스를 하기 위해서는 standard out을
: 가로채는 루틴이 필요한데( ... <- 이거 맞나? ) 이런게 돌아가고
: 있으면 Pipe로 잡아 올려고 해도 잘 안될까요 ??? ^^;;
:
: 98에서 님께서 제시한것 비슷한 것을 이용해서 input, output을
: 리다이렉션 했는데, 언제부턴가 그 기능이 안되서 왜 안되나 한참
: 고민 했었던 적이 있었습니다. 결론은 퍼스널 웹 서버등을 깔면
: 그렇게 되더군요. 그게 CGI서비스를 위해서 윈도우즈 표준 DLL을
: 바꾸는것 같더군요.
:
: .
: .
: .
:
: 급하게 다른 방법을 찾아 보다가 제가 생각해낸 것은 도스시절의
: standard 입출력의 방향을 바꾸는 기능이었죠.
:
: 그냥
:
: dir
:
: 하면 화면에 파일리스트가 찍히지만,
:
: dir >> dirtext.txt
:
: 하면 dirtext.txt라는 파일로 출력이 일어나죠.
:
: 님이 사용하고 있는 도스용 프로그램의 이름과 출력방향조정자( ??? )인 >>
: 을 이용해서 text파일로 출력을 가져올 수 있습니다.
:
: 그런데 여기에는 조금의 문제가 있습니다.
:
: 도스에서 기록한 파일은 약 0.2 - 0.5 초의 인터발이 생기고 윈도우시스템에
: 보입니다. 그러니까 Text파일을 만들고나서 파일이 있는지 지속적으로
: ( 약 1-2초 정도 )검사하다가 생기면 이 파일을 읽어야 합니다.
:
: .
: .
: .
:
: 그리고 또 하나의 팁은 << 을 이용해서 도스 프로그램에게 명령을 전달할 수 있습니다.
: 도스 프로그램이 실행되고 나서 ENTER( 13 문자 )를 요구하고 다시 스페이스 입력을
: 요구한다면 도스 프로그램을 부르는 문자열에 이 두 문자를 포함시키면 자동으로
: ENTER와 SPACE가 입력됩니다.
:
: .
: .
: .
:
: 답이 되었으면 좋겠습니다.
:
:
:
|