안녕하세요...
질문은요... 도스용 프로그램을 shellexecute로 실행시켰는데 그 도스용 프로그램이
실행되면 스트링을 입력받는 부분이 있거든요...
그래서 제 윈도우 프로그램에서 그 도스용 프로그램에 스트링을 넘겨줘서 도스용 프로그램이
계속 실행되게 할수 없나요???
도스용 프로그램은 실행된후에 스트링을 입력받는 부분에서 입력을 기다리고 있잖아요...
물론 도스용 프로그램이 필요로 하는 스트링은 프로그램이 처음 실행될때 넘겨받는
인자값이 아닙니다.... 실행중에 입력받는 스트링이죠...
방법이 없을까요???
고수님들의 조언을 부탁드립니다.......
안녕히
>안녕하세요... 먼저 답변에 감사드립니다......
>그리고 또 궁금한게 있어서 이렇게 메일 드립니다.....
>방법중의 하나가 리다이렉션이라고 말씀하셨는데 createprocess()를 이용해서 어떻게 리다이렉션을
>시킨다는 건가요???
>물론 도스 모드에서는
>c:>program < a.txt
>이런식으로 하지만 질문처럼 다른 도스모드 프로그램을 실행시켜 위와 같이 효과를 내려면 어떻게 하라는
>말씀이신지요...
>제 딴에는 shellexecute()에서 파라미터에 "< a.txt" 라고 줘봤는데 물론 안되었죠...^^;;
>죄송하지만 약간의 설명 좀 부탁드릴수 있을까요???
>참... 보내는 메일 아이디가 제것이 아닌데 상관없습니다....
>
>그럼 안녕히....
직접 메일로 보내신 글을 메모장에서 편집한 건데 그럴듯 한가요?
받으신 메일에도 씌여 있겠지만 www.delphi.co.kr 에서 쓰레드를 달아 주세요..
다른 분들도 궁금하실지 모르니까요.. ;)
어쨌든 DOS 모드 프로그램의 redirection을 제대로 구현하시면,
일반 상용 프로그램들에서 보이는 console window를 만드실 수 있습니다..
Memo 컴포넌트 등에서 DOS 프로그램의 입/출력이 가능해지죠..
물론 Memo를 이용하지 않고 텍스트 파일로의 redirection도 가능하구요..
아주 유용한 기술입니다만
CreateProcess(), STARTUPINFO, CreatePipe(), DuplicateHandle(), Thread 등에 대한
이해가 필요합니다.. 어렵죠.. ^^;
다행인것은 컴포넌트 사이트에서 redirect 를 키워드로 검색하시면
쓸만한 공개 컴포넌트들이 꽤 있다는 겁니다..
직접 구현하고 싶거나 원리를 알고 싶으시면
msdn에서 위의 API 들을 가지고 검색하시면 되구요..
사실 제 경우에는 사용할 API를 미리 알아내고, DSP 등의 컴포넌트 사이트에서
비슷한 컴포넌트를 마구 받은 다음, 그 중에 제가 하려는 것과 가장 비슷한 것을 선택해
만드신 분에게 아주 감사하는 마음으로 쓰거나 혹은 약간 수정해서 쓰거나 합니다..
물론 찾아도 없는 경우에는 제가 만들어야 겠죠..
컴포넌트 기반 프로그래밍의 이점이라고나 할까요?
이미 다 되어 있는 일을 반복할 필요는 없겠죠?
Delphi! 아자~!
.......모든 정보는 공유되어야 한다...
그럼 이만..