▶ handle_2 값과 같은 pWb.Hwnd를 찾아서 pWB넘기려면 어떻게 해야되는지요
방법을 아시는분은 꼭 좀 도와 주시면 감사하겠습니다.
그럼 이번주 내내 즐겁고 편안한 한주 되시길 바랍니다.
function check(TopWnd:HWnd): IWebBrowser2;
var
szClassName: array [0..50] of Char;
i, cnt: Integer;
hr: HResult;
pSW: IShellWindows;
spDisp: IDispatch;
pWB: IWebBrowser2Disp;
pBrowser: IWebBrowser2;
handle_2:HWnd;
begin
hr := CoCreateInstance(CLASS_ShellWindows, nil, CLSCTX_LOCAL_SERVER, IID_IShellWindows, pSW);
if hr <> S_OK then Exit;
cnt := pSW.Get_Count;
for i := 0 to cnt -1 do
begin
spDisp := pSW.Item(i);
spDisp.QueryInterface(IID_IWebBrowser, pWB);
if pWB <> nil then
begin
handle_2 := GetWindow(pwb.HWND, GW_CHILD);
while handle_2 > 0 do
begin
GetClassName(handle_2, szClassName, 50);
if (StrPas(szClassName) = 'Frame Tab') then
break;
handle_2 := GetWindow(handle_2, GW_HWNDNEXT);
end;
// 아래에서 어떻게 처리해야 되는지요~ ^^;
PBrowser := IWebBrowser2(pWB);
Result := pBrowser;
exit;
end;
end;
end;