shdocvw을 사용해서.. 아래와같은 소스로..
특정사이트를 제한하는것을 테스트하고 있는데요..임의로 daum사이트가 켜지면 empas로 이동하게
테스트중입니다.
일단 타이머에 1초정도 시간을 주어 아래소스를 실행하면.. 잘작동합니다.
하지만.. 테스트를 하기위해 익스플로러 기본시작페이지를 daum으로 해놓고 연속클릭으로 몇초사이 5~10개정도
띄워버리면 엑세스 바이올레이션 에러가 무조건 발생하네요.. 위치는 아래 A와 ,B 에서 발생하는데.
주로A에서 발생합니다. 어떻게 하면 에러가 발생하지 않을까요..
timer1.enabled:=false
cShellWnd := CoShellWindows.Create;
for i := 0 to CShellWnd.Count - 1 do begin
mStr := (CShellWnd.Item(i) as IWebBrowser2).LocationUrl; (A)
if (CShellWnd.Item(i) as IWebBrowser2).ReadyState =READYSTATE_COMPLETE then (B)
begin
if pos('daum',mStr)<>0 then
begin
url:='empas.com';
(CShellWnd.Item(i) as IWebBrowser2).Navigate2(url,Flags,TargetFrameName,PostData,Headers);
end;
end;
end;//for끝
timer1.enabled:=true;
|