Q&A

  • shellexecute로 실행시킨 프로그램에 스트링 넘겨주는법...
안녕하세요...

질문은요... 도스용 프로그램을 shellexecute로 실행시켰는데 그 도스용 프로그램이

실행되면 스트링을 입력받는 부분이 있거든요...

그래서 제 윈도우 프로그램에서 그 도스용 프로그램에 스트링을 넘겨줘서 도스용 프로그램이

계속 실행되게 할수 없나요???

도스용 프로그램은 실행된후에 스트링을 입력받는 부분에서 입력을 기다리고 있잖아요...

물론 도스용 프로그램이 필요로 하는 스트링은 프로그램이 처음 실행될때 넘겨받는

인자값이 아닙니다.... 실행중에 입력받는 스트링이죠...

방법이 없을까요???

고수님들의 조언을 부탁드립니다.......

안녕히

3  COMMENTS
  • Profile
    한석희 2000.05.09 00:17
    문보석 wrote:

    >안녕하세요... 먼저 답변에 감사드립니다......

    >그리고 또 궁금한게 있어서 이렇게 메일 드립니다.....

    >방법중의 하나가 리다이렉션이라고 말씀하셨는데 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! 아자~!



    .......모든 정보는 공유되어야 한다...



    그럼 이만..

  • Profile
    한석희 2000.05.08 19:16
    김종근 wrote:

    > 안녕하세요...

    > 질문은요... 도스용 프로그램을 shellexecute로 실행시켰는데 그 도스용 프로그램이

    > 실행되면 스트링을 입력받는 부분이 있거든요...

    > 그래서 제 윈도우 프로그램에서 그 도스용 프로그램에 스트링을 넘겨줘서 도스용 프로그램이

    > 계속 실행되게 할수 없나요???

    > 도스용 프로그램은 실행된후에 스트링을 입력받는 부분에서 입력을 기다리고 있잖아요...

    > 물론 도스용 프로그램이 필요로 하는 스트링은 프로그램이 처음 실행될때 넘겨받는

    > 인자값이 아닙니다.... 실행중에 입력받는 스트링이죠...

    > 방법이 없을까요???

    > 고수님들의 조언을 부탁드립니다.......

    > 안녕히

    DOS 모드 프로그램이라..

    stdin의 redirection을 이용하는 방법도 있습니다..

    shellexecute말고 CreateProcess()를 참고해 보십시오..

  • Profile
    양병규 2000.05.06 10:58
    Keybd_Event를 사용하시면 가능합니다.

    Keybd_Event는 말그대로 키보드를 눌러주는 함수인디 도스모드에서도 잘 실행됩니다.



    물론 언제 눌러야 할것인가는 ... 알아서 하셔야겠네요

    프로그램이 시작되자마자 입력을 해야한다면 그냥 타이머써서 하시는것도 좋을것 같고..



    그럼

    평안하시길~

    • 레마
    • 2000.05.06 17:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • nilriri
      2000.05.06 20:12
      var mydate :TDateTime begin try myDate := StrToDateTime(FormatMaskText(em_birthday.text,'####-...
    • SerVing
      2000.05.07 00:34
      별로 힘든일이 아닌것 같은데요? 우선 status bar밑에 판넬을 깔고, Align=None으로, image를 놓을곳에 ...
    • 김일영
      2000.05.06 19:35
      '원도'라고 하신 내용은 아마도 하나의 윈도우만이 아니라 Windows 전체를 뜻하시는 내용 같은데 그렇다면...
    • 홍세비
    • 2000.05.06 12:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재원
      2000.05.06 18:35
      소스를 못봐서 잘은 모르겠는데요. inherited Create(AOwner); Parent:=AOwner; 우선 위에있는 데로...
    • 신소연
    • 2000.05.06 11:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영해
      2000.05.06 21:42
      신소연 wrote: > 델파이 팁에 있는것 처럼 아래와 같이 코딩 했습니다.. > 그런데도 a4크기만큼만 인쇄...
    • Mr.Q
    • 2000.05.06 09:34
    • 4 COMMENTS
    • /
    • 0 LIKES
    • etraze.com
      2000.05.09 06:18
      select k.a_amount, k.b_amount, k.a_amount+ k.b_amount sum from ktabke a, ptable p > ...
    • Mr.Q
      2000.05.07 11:02
      Mr.Q wrote: > [ktable] > 필드명 형태 크기 > a_amount integer > b_amount integer > l...
    • 정용진
      2000.05.06 10:36
      select k.a_amount, k.b_amount, k.a_amount + k.b_amount sum, k.lcode + k.gcode l...
    • SerVing
      2000.05.07 00:35
      해보지는 않았는데, SubString()의 help를 보심이... 정용진 wrote: > select k.a_amount, k.b_amount...
    • Perl
    • 2000.05.06 05:24
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.07 03:35
      안녕하세요. 최용일입니다. 말씀하신 에러가 발생하는 주된 이유는 폼파일이 손상되어 델파이가 폼에 있...
    • Perl
      2000.05.08 04:10
      fileferret 으로 6개를 받아 모두 설치를 해 보았는데...어디서 잘 못된건지..무지 답답하네요...답변을 하...
    • 최용일
      2000.05.08 09:28
      안녕하세요. 최용일입니다. 저도 SkinForm컴포넌트를 설치해본 경험이 있는데 이상없이 잘 설치가 됐었...
    • 김종근
    • 2000.05.06 02:53
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 한석희
      2000.05.09 00:17
      문보석 wrote: >안녕하세요... 먼저 답변에 감사드립니다...... >그리고 또 궁금한게 있어서 이렇게 메일...
    • 한석희
      2000.05.08 19:16
      김종근 wrote: > 안녕하세요... > 질문은요... 도스용 프로그램을 shellexecute로 실행시켰는데 그 도스...
    • 양병규
      2000.05.06 10:58
      Keybd_Event를 사용하시면 가능합니다. Keybd_Event는 말그대로 키보드를 눌러주는 함수인디 도스모드에서...
    • 윤광희
      2000.06.10 09:26
      Active Form에서 다른 폼을 띄우는것 가능합니다. 에러가 나는 이유는... DPR 파일에서 FORM을 Create해...
    • 김영대
      2000.05.13 23:33
      이수정 wrote: > 안녕하세요.. > > File -> New 했을때... ActiveX Form 으로 생성해서 만들구요.. ...
    • 김영대
      2000.05.13 23:33
      이수정 wrote: > 안녕하세요.. > > File -> New 했을때... ActiveX Form 으로 생성해서 만들구요.. ...
    • 최용일
      2000.05.06 23:47
      안녕하세요. 최용일입니다. 아마도 엑티브폼에서 일반폼을 띄우는 것은 안될것입니다. 대부분은 엑티브...
    • Mr.Q
      2000.05.07 11:43
      톰과 제리 wrote: > 원도우를 확실하게 종료 할수 있는 방법을
    • Mr.Q
      2000.05.05 12:14
      톰과 제리 wrote: > 원도우를 확실하게 종료 할수 있는 방법을
    • 강민주
    • 2000.05.05 09:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박상윤
      2000.05.10 20:39
      direct show 컴포넌트는 딱 1개가 있습니다. 그러나 전혀 쓸모가 없어서리 만약 com을 잘다루신다면 직...
    • 잔상
    • 2000.05.05 07:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.06 23:00
      안녕하세요. 서버에다가 마우스 훅킹 핸들러를 하나 작성하여 놓고 클라이언트에서 요청이 있을때마...
    • 이창영
    • 2000.05.05 07:05
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 윤석천
      2000.05.05 17:51
      이창영 wrote: > 소문에는 mssql db를 사용하면 가격이 장난아니라고 하던데 아시는지요? 가격이 장난...
    • cos
      2000.05.05 09:21
      이창영 wrote: > 소문에는 mssql db를 사용하면 가격이 장난아니라고 하던데 아시는지요? > > 그와 비...
    • 권원재
    • 2000.05.05 07:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.06 22:48
      안녕하세요. 최용일입니다. 이건 API를 쓰는것이아니라 Shell Extension을 사용하셔야 합니다. 컨택스트...
    • 이창영
    • 2000.05.05 06:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.06 22:44
      안녕하세요. 최용일입니다. cfg파일이란 아마도 환경설정을 저장하는 파일을 말하는것 같은데 이것을 만...
    • 답답이
    • 2000.05.05 06:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.06 22:57
      안녕하세요. 최용일입니다. 유닉스계열의 OS를 사용하시는 것이 나을듯 하네요. 현제 윈도우계열을 이러...
    • 조유정
    • 2000.05.05 05:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • cos
      2000.05.05 09:16
      > 파라독스 DB를 사용하고 있는데 현제 날짜를 구하는 방법좀 알려 두세요... > > SELECT 문에 현재 날...