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
[18798] 부모 실행파일에서 실행중인 자식 실행파일을 죽이는 방법 좀 알려주세요....
박경진 [] 1074 읽음    2002-05-23 17:27
하나의 프로그램이 1분마다 여러 실행파일을 실행시킵니다.
그런데...
하나의 실행파일이 실행중에 문제가 생기면 Holding 상태에로 멈추게 되면서
다음에 줄줄이 실행되야할 실행파일들이 실행되지 못하는 경우가 종종 생깁니다. 
타이머를 써서 30초 이상이 경과하면 현재 실행중인 파일을 KILL하고 싶은데요....
어떻게 해야 하나요....
현재 실행은 다음과 같이 하고 있습니다.

=============================================================================================
void __fastcall Timer1Timer(TObject *Sender)
{
    StartProcess("bin\\aaaa.exe");
    StartProcess("bin\\bbbb.exe");
}


void StartProcess(AnsiString Str)
{
   AnsiString curDir = Str;

   STARTUPINFO              siParam;
   PROCESS_INFORMATION      piParam;
   DWORD                    dwExitCode;


   // 초기화
   FillMemory(&siParam, sizeof(STARTUPINFO), 0);
   FillMemory(&piParam, sizeof(PROCESS_INFORMATION), 0);

   // Param 섯팅
   siParam.cb               = sizeof(STARTUPINFO);
   siParam.dwFlags       = STARTF_USESHOWWINDOW;
   siParam.wShowWindow = SW_HIDE;

   CreateProcess(NULL, curDir.c_str(), NULL, NULL, FALSE, 0, NULL, NULL, &siParam, &piParam);
   WaitForInputIdle(GetCurrentProcess(), INFINITE);

   // 프로세스가 종료될때까지 대기함
   if(piParam.hProcess) {
      dwExitCode = STILL_ACTIVE;


      while(dwExitCode == STILL_ACTIVE) {
         WaitForSingleObject(piParam.hProcess, 100);
         GetExitCodeProcess(piParam.hProcess, &dwExitCode);
         UpdateWindow(Handle);
      }
   }
}
============================================================================================

+ -

관련 글 리스트
18798 부모 실행파일에서 실행중인 자식 실행파일을 죽이는 방법 좀 알려주세요.... 박경진 1074 2002/05/23
18820     Re:부모 실행파일에서 실행중인 자식 실행파일을 죽이는 방법 좀 알려주세요.... 유영인.Chris 1368 2002/05/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.