IEhwnd := FindWindow('Netscape', nil);
if IEhwnd > 0 then begin
SendMessage(IEhwnd , WM_syscommand, SC_CLOSE, 0);
Application.ProcessMessages;
end;
넷스케이프가 열려 있으면 종료시키려 하는데 위의 소스에서
클래스명이 안 맞는 것 같은데
API함수 중에서 클래스명을 찾아주는 함수가 있던데
그 함수를 사용하려면 핸들을 알아야 하고 핸들을 찾으려면
클래스 이름을 알아야 하고.. 으으
하여튼 넷스케이프를 종료시키려면 어떻게 하는지요?
그리고 클래스 이름은 어떻게 알아냅니까?
초보의 질문이었습니다.
> IEhwnd := FindWindow('Netscape', nil);
>
> if IEhwnd > 0 then begin
> SendMessage(IEhwnd , WM_syscommand, SC_CLOSE, 0);
> Application.ProcessMessages;
> end;
> 넷스케이프가 열려 있으면 종료시키려 하는데 위의 소스에서
> 클래스명이 안 맞는 것 같은데
> API함수 중에서 클래스명을 찾아주는 함수가 있던데
> 그 함수를 사용하려면 핸들을 알아야 하고 핸들을 찾으려면
> 클래스 이름을 알아야 하고.. 으으
> 하여튼 넷스케이프를 종료시키려면 어떻게 하는지요?
> 그리고 클래스 이름은 어떻게 알아냅니까?
> 초보의 질문이었습니다.
procedure TForm1.Button2Click(Sender: TObject);
var IEhwnd:HWND;
ttt:array[0..29]of char;
xxx:integer;
begin
IEhwnd := FindWindow('Netscape', nil);
//넷스케이프의 핸들을 알아오겠죠..
//FindWindow(nil,'Netscape'); 이렇게 하면 윈도 캡션이
//'Netscape'인 핸들을 받아오죠..
xxx:= getclassname(IEhwnd,ttt,30);
//GetClassName은 클래스명을 받아오는 함수인데요...
//리턴값은 Int 입니다...
//ttt는 클래스명을 저장할 버퍼이구요...
//뒤에 30은 버퍼사이즈입니다..
showmessage(ttt);
//이렇게하면 클래스명이 메세지박스로 나오겠죠..
end;
음...원하시는 답변인지 ...
부산/경상의 클라라 엿슴다!!!