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
[6728] Re:내 프로그램에서 다른 실행파일 실행하기....
방태윤 [nabty] 2803 읽음    2001-04-10 18:21
완전한 답변은 아닙니다.
아래는 노트패드를 실행시키고 노트패드가 끝날때까지
대기하는 겁니다.
끝나야 리턴값을 받을수 있겠지요..참고만 하십시요.

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:내 프로그램에서 다른 실행파일 실행하기.... 도난경보기 2555 2001/04/11
6745             Re:Re:Re:내 프로그램에서 다른 실행파일 실행하기.... 방태윤 2883 2001/04/11
6804                 해결했습니다. 태윤님 감사... 도난경보기 2897 2001/04/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.