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

델파이 Q&A
Delphi Programming Q&A
[7290] [답변] KNK300/ 윈도우즈 종료하기
박테리아 [ ] 659 읽음    2000-07-20 20:19
안녕 하세요?

BacTeria 박종민 입니다.

현재 떠있는 프로그램을 모두 종료하는 프로그램 구현하기는 그리 어렵진 않습니다.

우선 다른 프로그램을 종료 하려면 닫으려는 윈도우의 핸들을 얻어내야 합니다.

일일이 창들을 순회하여 다 뒤져 얻는 방법과 콜백 함수로 한방에 얻어오는

방법이 있습니다.

우선 일일히 뒤져서 찾는 방법...

------------------------------------------------------------------------
  var
    hwnd: THandle;
  begin
    hwnd := GetWindow(GetDeskTopWindow, GW_CHILD);

    while hwnd <> 0 do
    begin
      // 요기에서 원하는 처리를 해 줍니다. 창을 닫던지...
      // hwnd 가 얻어온 핸들 이거든요~

      hwnd := GetWindow(hwnd, GW_HWNDNEXT);
    end;
  end;
------------------------------------------------------------------------

담으로 콜백 함수로 한방에 처리하기...

------------------------------------------------------------------------
  function CallBack(PHandle: HWND; lparam: LPARAM): Boolean; stdcall;
  begin
    if IsWindow(PHandle) and IsWindowVisible(PHandle) then
    begin
      // 요기에서 원하는 처리를 해줍니다.
      // CloseWindow(PHandle); 이런거 써도 되구요...
    end;

    CallBack := True;
  end;

  procedure TForm1.Button1Click(Sender: TObject);
  begin
    EnumWindows(@CallBack, 0);
  end;
------------------------------------------------------------------------

자세한건 도움말이 젤루 확실하지 않을까요?

그리구요. 윈도우 종료하는 방법은요. ExitWindowsEx 라는 API 함수로 해결합니다.

이 함수는 그냥 도움말을 참고 하세요. 왜냐면 무지 쉽기 때문에~ ^.-

이만... 박종민...


+ -

관련 글 리스트
7290 [답변] KNK300/ 윈도우즈 종료하기 박테리아 659 2000/07/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.