데브피아에서 작성된 내용 링크합니다.
원문 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNo=20&no=486930&ref=486930
해당 내용으로 간략하게 작성해본 코드입니다. .
윈도우 비스타에서 spy++ 사용하여 탐색기 클래스 이름 확인해보니
CabinetWClass로 나오는 군요... 맞는건지..
동작은 잘 되네요...
for loop 돌려서 FindWindow의 리턴값이 NULL이 될 때 까지 모든 탐색기를 닫으면 될듯합니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HWND hHandle = FindWindow("CabinetWClass", NULL);
if(hHandle != NULL) {
SendMessage(hHandle, WM_CLOSE, 0,0);
}
else {
MessageBox(this->Handle, "더이상 탐색기 없음.", "", MB_OK);
}
}
초보소연 님이 쓰신 글 :
: 안녕하십니까
:
: 질문하나 드립니다.
:
: 우리가 프로그램 실행시킬때 폴더를 열고 그 안에 실행파일을 실행시키는 데
:
: 이 연 폴더를 닫는 것에 대한 질문을 드립니다.
:
: 프로그램이 C:\Test에 있는 상태에서
:
: 이 안에 실행파일을 실행시키고 난 후 프로그램을 종료하면
:
: 프로그램을 실행시킨 폴더 창은 윈도우 화면에 남아 있는데
:
: 이것을 프로그램 실행시
:
: 예를 들어 A라는 창이 켜져 있을때 B를 키면 A라는 창이 사라지는 방법처럼
:
: 프로그램 실행시 닫으려면 어떻게 해야하는지 알고 싶습니다.
|