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
[28038] [질문]작업 관리자 에서 실행 파일 죽이기
조진수 [] 982 읽음    2003-12-01 15:01
아래 내용은 다른 분의 답변을 가져 온 것입니다. 그런데 무슨 말인지... 완젼히 낫놓고 기억자도 모르는

것 같아 답답하군여....

제가 듣고 싶은 답변은 아래 함수를 어떻게 실행해야 될지 모르겟습니다.   즉, 제가 KillHandle() 를

호출하는건지 아니면 어떻게 자동으로 호출이 되는지....

제가 잘 이해를 하지 못해서 질문이 애메하군여.....   제가 하려는건 Os에서 윈도우를 종료시면 프로그램

을 종료 시키기 위해서 입니다. 답변 부탁드립니다.

///////////////////////////////////////////////////////////////////////////////////////////////////

98에서는 간단히 죽이면 되지만, 2000에서는 프로세스를 얻은 다음 처리를 해야 하기 때문에 조금 복잡합니다. 아래 소스로 98, 2000에서 모두 사용하실 수 있으실 것 같습니다.

아래 소스는 "프로그램 1", "프로그램 2" 를 모두 죽이는 소스입니다.


void __fastcall TMain::KillHandle(bool blRoot)
{

HWND              hdHandle;
HANDLE            hdProcess;
DWORD             dwPID;



SpeedKeyOff();

hdHandle = FindWindow(NULL, "프로그램 1");
if(!hdHandle) hdHandle = FindWindow(NULL, "프로그램 2");

if(hdHandle) {
   GetWindowThreadProcessId(hdHandle, &dwPID);

   if(dwPID) {
     hdProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPID);
     TerminateProcess(hdProcess, -1);
   }

   KillHandle(false);
}

return;

}

+ -

관련 글 리스트
28038 [질문]작업 관리자 에서 실행 파일 죽이기 조진수 982 2003/12/01
28039     Re:[질문]작업 관리자 에서 실행 파일 죽이기 유영인 Cuperido 1649 2003/12/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.