어느 분이 답변해 주신 게시판 내용의 글중에서염..
아래와 같이 모두 작성했거든여..
function EnumWindowsProc(Wnd: HWND):Bool;stdcall;// 열려있는 익스 모두 닫는 함수
var
ClassName : string;
begin
if IsWindowVisible(Wnd) and ((GetWindowLong(Wnd, GWL_HWNDPARENT) = 0) or
(HWND(GetWindowLong(Wnd, GWL_HWNDPARENT)) = GetDesktopWindow)) and
((GetWindowLong(Wnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW) = 0) then begin
SetLength (ClassName, 100);
GetClassName (Wnd, PChar (ClassName), Length (ClassName));
ClassName := PChar (ClassName);
if ClassName = 'IEFrame' then begin
PostMessage(Wnd,WM_CLOSE,0,0);
// PostMessage(Wnd,WM_QUIT,0,0);
end;
end;
end;
procedure TForm1.Button26Click(Sender: TObject);
var
i : integer;
begin
EnumWindows(@EnumWindowsProc,i);
end;
이렇게 하고 컴파일 하니 익스플로러 창은 모두 닫히긴 하는데여
아래 에러 메세지 두개가 컴파일할때마다 항상 떠서여..
[Warning] wapc.pas(190): Return value of function 'EnumWindowsProc' might be undefined
[Warning] wapc.pas(197): Variable 'i' might not have been initialized
먼뜻인지 알려 주시면 넘 감사하겠습니다..
1. [Warning] wapc.pas(190): Return value of function 'EnumWindowsProc' might be undefined
2. [Warning] wapc.pas(197): Variable 'i' might not have been initialized
1. Return 메시지 뜻은 변수선언을 해놓고 사용하지 않았다는 것입니다.
Function 으로 선언하면 Return 은 되돌릴 변수로 선언하지 않아도 사용할수가 있습니다.
2. i 변수가 초기화가 안됐다는 뜻입니다.
이벤트 구문을 보니 i 변수는 사용도 안했는데 선언만 했으니
당연히 초기화도 안됐다고 뜨겠죠
실행하는 데는 별 문제는 없습니다.
그럼.