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
[62378] Re:질문 있습니다.
장성호 [nasilso] 1012 읽음    2010-09-09 11:01
음...

작업관리자에서
"프로세서 끝내기" 가 아니라 "프로세서 트리 끝내기" 하면..

현재 process에서 생성한 child프로세서들이 모두 같이 종료됩니다.


그런데..
"프로세서 트리 끝내기" 버튼을 클릭한다는 보장은 없으니..

다른 방법이 있는지는 모르겠지만..
프로세서를 create할때 단순 child가 아닌
debug-process로 실행해서 debug-event 처리하시면...

debuger가  강제 종료될때.. debugee도 같이 종료되더군요

bcb에서 debuging중에 먹통이 되었을때..
작업관리자에서 bcb를 죽이면 debuging중이던 process도 같이 종료되는것처럼요..


그럼..



초보 님이 쓰신 글 :
: 일단 코드를.....
:
:
: bool __fastcall TForm1::WaitCommand(AnsiString Command){
: 	STARTUPINFO sInfo;
: 	memset(&sInfo, 0, sizeof(STARTUPINFO));
: 	sInfo.cb = sizeof(sInfo);
: 	sInfo.wShowWindow = SW_HIDE;
: 	SECURITY_ATTRIBUTES sAttr;
: 	sAttr.nLength = sizeof(sAttr);
: 	sAttr.lpSecurityDescriptor = NULL;
: 	sAttr.bInheritHandle = TRUE;
: 	PROCESS_INFORMATION pInfo;
: 	if(CreateProcess(NULL, Command.c_str(), &sAttr, &sAttr, TRUE,0, NULL, NULL ,
: 		&sInfo, &pInfo) != TRUE)return false;
: 
: 	DWORD result;
: 
: 	do{
: 		Application->ProcessMessages();
: 		result = WaitForSingleObject(pInfo.hProcess, 5);
: 	}while(result == WAIT_TIMEOUT);
: 
: 	if (result == WAIT_FAILED)return false;
: 	CloseHandle(pInfo.hProcess);
: 	return true;
: }
: 
: void __fastcall TForm1::Button1Click(TObject *Sender){
: 	WaitCommand("notepad.exe");
: 	ShowMessage("실행끝");
: }
: 
: 

:
: 소스를 간단하게 설명하면 Button1 을 눌르면 노트패드를 실행 하고
: 기다리다가 종료 되면 "실행끝" 이라구 출력 합니다.
:
: 그런데 제 프로그램을 a.exe 라구 치구요, 노트 패트를 b.exe 이라구 치고
: a.exe 에서 b.exe 실행한 상태에서 a.exe 작업관리자에서 강제 종료 시켜 버리면
: b.exe 도 같이 종료 되게 하고 싶은데요
: 정상적인 종료라면  OnClose 같은 이벤트를 써서 TerminateProcess 로 종료시켜 버리면되지만
: 작업관리자로 강제로 종료 시켜 버리면 아무 이벤트도 오지 않습니다.
:
:  a.exe 를 작업관리자에서 강제 종료 되면 b.exe 도 같이 종료 되게 하고 싶은데
: 방법이 없을까요?

+ -

관련 글 리스트
62377 질문 있습니다. 초보 777 2010/09/09
62378     Re:질문 있습니다. 장성호 1012 2010/09/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.