C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[6745] Re:Re:Re:내 프로그램에서 다른 실행파일 실행하기....
방태윤 [nabty] 2882 읽음    2001-04-11 15:16
^^ 그래서 참고만 하랬던 겁니다..^^
사실 리턴값을 받을수 있나 createprocess 를 보긴 봤는데
별다른점을 찾지못했구요.
도스처럼 리턴값이 있는지도 잘 모르겠구요..
글쎄요..부족하겠지만,,저 같으면
결국 자식프로그램이 어떤 결과값을 부모한테
알려주도록 만들으면 되지 않나 싶은데요.
소켓으로 알려주던,파일을 만들어서 알려주던,아니면 DDE 로 알려주던지요,,,
정확한 답변이 아니라 죄송합니다..끝.


도난경보기 님이 쓰신 글 :
: 태윤님 답변 감사합니다....
: 그런데 아래 소스만으로는 좀 부족한데요....
: 제 경우에 적용을 시켜보면 결국 notepad 가 자식이 되는데....
: notepad 가 리턴하는 값은 뭐죠?
: 아래 예제는 폼에서 버튼 클릭했을때 메모장을 열어서 거기에
: autoexec.bat 파일의 내용을 보여주는건데.....
: 메모장이 닫힐때까지 원래 프로그램은 기다리고 있구요....
: 메모장이 닫히면 원래 프로그램이 다시 나타나는데....
: 메모장이 리턴하는건 뭐죠?
: 그리고 메모장이 리턴하는 값을 받는 부분은 어디죠?
: 암만 찾아봐도 없는것 같은데요....
: 혹시 제 질문을 잘못 이해하신건 아닌지.....
: 아니면 빨리 답변해주시고 싶은 마음에 다른 부분을 빠뜨리신건지....
: 다시한번 정확한 답변 주시면 감사하겠습니다.
:
: 방태윤 님이 쓰신 글 :
: : 완전한 답변은 아닙니다.
: : 아래는 노트패드를 실행시키고 노트패드가 끝날때까지
: : 대기하는 겁니다.
: : 끝나야 리턴값을 받을수 있겠지요..참고만 하십시요.
: :
: : void __fastcall TForm1::Button1Click(TObject *Sender)
: : {
: :   STARTUPINFO         si;
: :   PROCESS_INFORMATION pi;
: :
: :   ZeroMemory( &si, sizeof(STARTUPINFO) );
: :   ZeroMemory( &pi, sizeof(PROCESS_INFORMATION) );
: :
: :   si.cb          = sizeof( STARTUPINFO );
: :   si.dwFlags     = STARTF_USESHOWWINDOW;
: :   si.wShowWindow = SW_SHOWNORMAL;
: :
: :   CreateProcess( NULL, "notepad c:\\autoexec.bat", NULL, NULL, FALSE,
: :     0, NULL, NULL, &si, &pi );
: :
: :   WaitForInputIdle( GetCurrentProcess(), INFINITE );
: :   if( pi.hProcess ){
: :     DWORD dwExitCode = STILL_ACTIVE;
: :     while ( dwExitCode == STILL_ACTIVE )
: :     {
: :       WaitForSingleObject( pi.hProcess, 1000 );
: :       GetExitCodeProcess( pi.hProcess, &dwExitCode );
: :       Update();
: :     }
: :   }
: : }
: : .끝.
: :
: : 도난경보기 님이 쓰신 글 :
: : : 제목 그대로 입니다. 제가 만드는 프로그램에서 다른 실행 파일을 실행시키고 싶습니다.
: : : 원래 프로그램을 부모, 불러와서 실행할 파일을 자식이라고 했을때,
: : : 부모에서 자식을 호출합니다. 자식은 제대로 되면 1, 제대로 안되면 -1을 리턴합니다.
: : : 부모는 자식이 어떤 값을 리턴하는지 받아서 1이 리턴되었으면 A 라는 일을 하고,
: : : -1 이 리턴되었으면 B 라는 일을 하고 싶습니다.
: : : 다른 프로그램을 실행시키기 위해, winexec 랑 shellexecute 를 사용해봤습니다.
: : : 프로그램이 실행되기는 하지만 리턴값을 어떻게 받아야 할지 모르겠네요.
: : : 위의 두가지의 경우에는 제대로 리턴값을 못받는 것 같더라구요.
: : : 답변 부탁드립니다.
: : :

+ -

관련 글 리스트
6726 내 프로그램에서 다른 실행파일 실행하기.... 도난경보기 2262 2001/04/10
6728     Re:내 프로그램에서 다른 실행파일 실행하기.... 방태윤 2803 2001/04/10
6740         Re:Re:내 프로그램에서 다른 실행파일 실행하기.... 도난경보기 2554 2001/04/11
6745             Re:Re:Re:내 프로그램에서 다른 실행파일 실행하기.... 방태윤 2882 2001/04/11
6804                 해결했습니다. 태윤님 감사... 도난경보기 2897 2001/04/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.